学习目标:
学习soul项目源码,学习soul框架搭建及项目搭建
学习内容:
第一周作业指南
第一天:
1.搭建网关环境(github 一键三连 star,watch,fork)
2.编译代码,运行soul-admin soul-bootstrap
3.记录心得,写博客分享,发朋友圈啥的
第二天
1.运行examples下面的 http服务
2.学习文档,结合divde插件,发起http请求soul网关,体验http代理
3.记录心得,写博客分享,发朋友圈啥的
第三天
1.运行examples下面的 apache-dubbo服务
2.学习文档,结合dubbo插件,发起http请求soul网关,体验dubbo代理
3.记录心得,写博客分享,发朋友圈啥的
第四天
1.运行examples下面的 sofa-rpc服务
2.学习文档,结合sofa插件,发起http请求soul网关,体验sofa代理
3.记录心得,写博客分享,发朋友圈啥的
第五天
1.运行examples下面的 springcloud服务
2.学习文档,结合springcloud插件,发起http请求soul网关,体验springcloud代理
3.记录心得,写博客分享,发朋友圈啥的
一周总结:
1.开会,分享心得,提出问题
2.把之前的博客总结成一篇。
学习时间:
2020年1月14下午4点-5点
2020年1月15号早上6-8点
学习产出:
-
soul简介
soul是基于webFulx实现的响应式编程网管,具有异步,高性能,扩语音等特点;
soul功能列表如下:扫描二维码关注公众号,回复: 12432344 查看本文章- 支持各种语音,无缝集成到 Dubbo、Spring Cloud、Spring Boot 中。
- 丰富的插件支持鉴权,限流,熔断,防火墙等等。
- 网关多种规则动态配置,支持各种策略配置。
- 插件热插拔,易扩展。
- 支持集群部署,支持 A/B Test。
整体架构图:
-
熟悉soul项目结构
soul-admin:插件和其他信息配置管理后台(读写数据库配置)。
soul-bootstrap:API网关,可以从soap-admin读取和推送配置,转发请求。
soul-client:使用Spring MVC,Dubbo,Spring Cloud的用户快速访问。
soul-common:框架通用类
soul-dist:构建项目
soul-metrics:soul指标。
soul-plugin:灵魂提供程序插件集合。
soul-spi:soul spi定义。
soul-spring-boot-starter:支持spring boot启动器
soul-sync-data-center:提供者ZooKeeper,HTTP,WebSocket,Nacos同步数据
soul-examples:RPC示例项目
soul-web:核心处理软件包,包括插件,请求路由和转发等 -
soul项目搭建
源码地址:https://github.com/dromara/soul
4.1. 编译代码,运行soul-admin soul-bootstrap
4.1.1 打包编译: mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true
4.1.2 启动soul-admin
修改yml文件,改为内存数据库
启动admin 打开连接: localhost:9095/index
用户名:‘admin’ 密码:‘jHcpKkiDbbQh7W7hh8yQSA==’
4.1.3 启动 soul-bootstrap
启动soul-bootstrap, 访问 localhost:9195