微服务

-------------------------外部环境选型-------------------------
1. JVM版本: JDK 8
2. 构建工具: maven
3. 持续集成: jenkins
4. 数据库版本: MySQL 5.7.9
5. redis版本:6.0.6(redis集群,保持现状)
6. 中间件Message Queue的选型:
6.1 RocketMQ(物联网无关 消息发送)
6.2 EMQ(物联网 硬件相关) 协议mqtt
7. 全文搜索引擎:Elasticsearch(先集成,实际功能后期开发)
8. 注册中心 + 配置中心: nacos
9. 外部网关: Nginx (保持现状,产险版本)
10. 产线发布: docker
11. 文件服务器: oss、服务所在服务器(暂时使用部署服务的服务器,微服务架构中使用OSS,两套方案并行)
12. linux服务器:centos 7(Core)(Kernal:Linux 3.10.0-957.el7.X86_64) (保持现状)
-------------------------内部选型-------------------------
1. Spring Cloud Alibaba Version:2021.1
2. 网关: Spring Cloud Gateway
3. 内部微服务调用:Dubbo
4. 内部负载均衡: Dubbo自带负载均衡
5. 用户登录相关(oauth2)与服务鉴权:UAA
6. 服务鉴权: JWT token
7. 内部微服务——熔断机制:Sentinel
8. 分布式事务: Seata
9. 持久层框架: mybaits分页插件-PageHelper、通用Mapper
10. 监控/链路调用跟踪 CAT V3.0.0 (美团) (优先级较低,后续依据项目需要再集成)
11. 定时器: xxl-job
12. 后端管理平台:前端开发负责
13. 持久层代码生成器: Mybatis-plus-generator
14. 在线API: knife4j
15. 内部数据传输协议: json
16. 序列化反序列化: fastjson
------------------------基础服务模块划分相关()-----------------------------
1. gateway 网关
2. uaa 用户登录 鉴权相关 权限资源相关
3. file 附件管理 文件上传 OSS
4. msg 消息 短信
5. backend 后端管理平台提供接口 菜单、字典、地区、系统参数、操作日志。
6. example 示例工程 模板,方便快速建立工程。
7. util 公共库依赖
-------------------------其它规范工具-----------------------------------
1. 代码格式化规则:alibaba
2. 代码规范工具:checkstyle
3. Java代码bug分析工具:Findbugs
4. 开发工具: eclipse、idea
5. 测试相关:开发人员的单元测试要尽量全面
6. 对象转换库:BeanUtil

原文地址:https://www.cnblogs.com/xiaomaoyvtou/p/11812820.html