Soul-入门,安装部署单机版

本文介绍了Soul响应式API网关的特性,包括异步、高性能和跨语言支持。通过详细步骤展示了如何从GitHub fork、编译及启动SoulAdmin和SoulBootstrap服务。在启动过程中,遇到的数据库配置问题和解决办法也被提及。最后,成功访问并验证了网关服务的运行。
部署运行你感兴趣的模型镜像

1. 概述

Soul 是基于 WebFlux 实现的响应式的 API 网关,具有异步、高性能、跨语言等特点。

猫大人说:我希望能够有一样东西像灵魂一样,保护您的微服务。在参考了 Kong、Spring Cloud Gateway 等优秀的网关后,站在巨人的肩膀上,Soul 由此诞生!

2. 搭建网关环境(github 一键三连 star,watch,fork)

https://github.com/dromara/soul

Fork分支到本地,设置upstream
  • 从soul的repo上fork一个分支到您自己的repo来开始工作,并设置upstream为soul的repo。

    git remote add upstream https://github.com/dromara/soul.git
    
创建分支
  • 切换到fork的master分支,拉取最新代码,创建本次的分支。

    git checkout master
    git pull upstream master
    git checkout -b soul-read
    

编译代码:

mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true

启动soul-admin(SoulAdminBootstrap)

1、错误记录:

org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat

原因:没有改数据库账号密码:
在这里插入图片描述

2、启动完成后,我们可以通过日志看到 Soul Admin 启动在 9095 端口。

2021-01-14 23:11:44.644  INFO 1920 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 9095 (http) with context path ''
2021-01-14 23:11:44.654  INFO 1920 --- [           main] o.dromara.soul.admin.SoulAdminBootstrap  : Started SoulAdminBootstrap in 16.306 seconds (JVM running for 21.845)

在这里插入图片描述

3、可以看到数据库已经建好了。

4、使用浏览器,访问 http://127.0.0.1:9095/ 地址,进入登录页(admin/123456), 输入账号密码,进入首页 访问:http://localhost:9095
在这里插入图片描述

启动 Soul Bootstrap 网关服务 (SoulBootstrapApplication)

1、启动 Soul Bootstrap 网关服务成功后可以看到控制台打印:

2021-01-14 23:22:05.113  INFO 13744 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 9195
2021-01-14 23:22:05.118  INFO 13744 --- [           main] o.d.s.b.SoulBootstrapApplication         : Started SoulBootstrapApplication in 11.573 seconds (JVM running for 16.882)

在这里插入图片描述

2、同时,我们在 Soul Admin 的日志输出如下日志,说明 Soul Bootstrap 成功连接上。

在这里插入图片描述

3、网关服务,负责启动网关,并转发请求到后端服务。如访问http://127.0.0.1:9195/dubbo/findById?id=9,可以通过网关访问:http://127.0.0.1:9105/findById?id=9

总结

1、为了培养良好的学习习惯,深入学习开源技术底层源码,同时促进整理记录学习知识,分享和表达技术的能力。Soul是一个开始,也是一个flag。
希望这次不要:靡不有初鲜克有终。

您可能感兴趣的与本文相关的镜像

FLUX.1-dev

FLUX.1-dev

图片生成
FLUX

FLUX.1-dev 是一个由 Black Forest Labs 创立的开源 AI 图像生成模型版本,它以其高质量和类似照片的真实感而闻名,并且比其他模型更有效率

### 特点优势 layui-soul-table 是一款为 layui-table 量身定制的扩展插件,基于 layui v2.5.6 开发,旨在提升表格操作的智能性和功能性,让数据处理更加灵活高效,可助用户轻松应对各种表格场景,提升工作效率。它具备以下实用功能和便捷特性: 1. **实用功能**:提供表头筛选、列顺序调整、列快速隐藏、excel 导出等功能,满足复杂的数据筛选和快速导出表格的需求[^1]。 2. **子表操作**:支持无限层级的子表操作,能应对更复杂的数据展示和处理场景[^1]。 3. **便捷特性**:集成了拖动行、右击快捷菜单、合计栏固定列等便捷特性,增强用户操作体验[^1]。 ### 使用方法 #### 模块引入 将模块引入项目中,需自定义模块,开放 soulTable。示例代码如下: ```javascript // 自定义模块,这里只需要开放soulTable即可 layui.config({ base: 'ext/', // 模块所在目录 }).extend({ soulTable: 'soulTable' // 模块别名 }); ``` 还需引入相应的 CSS 文件,不过文档未详细给出引入 CSS 的具体代码 [^2]。 #### 解决文件路径问题 若遇到引入的 tableFilter.js 文件路径不对的问题,不推荐将 tableFilter.js 放到正确位置(避免加载的插件都放到相同目录下导致混乱、易错),可在调用 soulTable 的页面中继承相应的模块。示例代码如下: ```javascript layui.config({ base: 'module/', }).extend({ shortcut: 'shortcut-lay/shortcut', soulTable: 'soul-table/soulTable', tableChild: 'soul-table/tableChild', tableMerge: 'soul-table/tableMerge', tableFilter: 'soul-table/tableFilter', excel: 'soul-table/excel', }).use([ 'shortcut', 'table', 'jquery', 'soulTable' ], function () { // 具体使用逻辑 }); ``` 这里只是配置了模块路径和加载了所需模块,具体的使用逻辑需要根据实际需求进一步编写 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值