1、先觉条件
# git
# java8
# mysql 8.0
# redis 5.0+
# elasticsearch 7.8.0
# kafka_2.11-2.5.0
# nacos 1.3.2
# seata 1.3.0
注:项目所有配置参数全部由nacos管理,保证了项目参数的保密性,如有需要动态变更的,可以在项目中采用@RefreshScope来达到实时刷新
2、项目结构
#1、主项目 pom 文件
#2、springcloud-gateway-nacos 网关服务
├── com.deng.gateway
├──controller --控制类
├──entity --实体类
├──route --网关路由的配置
├──uitls --网关项目工具包
└── pom.xml --子项目 maven 配置文件
#3、order 测试服务
├──springcloud-order-biz-service ---服务子项目
├──springcloud-order-client ---接口子项目,比如feignclient 接口对外暴露
├──springcloud-order-common ---公共子项目
├──springcloud-order-dao ---持久层子项目
├──springcloud-order-integration ---集成配置子项目
├──springcloud-order-web ---控制层子项目
├──springcloud-order-start ---开启入口子项目
└──order服务pom文件
#4、nacos_config.zip nacos配置文件
3、目前集成的功能
#1、springcloud
#2、mybatis plus
#3、redis
#4、elasticsearch
#5、kafka
#6、nacos gateway动态路由,实时刷新
#7、alibaba sentinel feignclient,dubbo的支持
#8、gateway ribbon负载均衡的开启,url白名单实时刷新,nacos后台可以调整权重,可以试验同时开启项目中的两个start
#9、feignclient
#10、dubbo
#11、mybatisplus 代码生成器----start子项目执行类
#12、统一异常处理
#13、自定义注解---操作日志收集
#14、分布式事务seata的支持
#15、分布式跟踪sleuth的支持