1. 引言
之前写过《淘东电商项目专栏》,该专栏主要是以学习为目的,但没有真正用到项目中,并不是现成的模板和轮子,有没有一套现成的方案可以参照呢?于是乎在Github找到了一个开源的项目 microservices-platform ,里面的功能基本满足了我们工作中的开发,此项目是这样自我介绍的:
基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。
star和fork情况如下图:
同样是轮子,我想参照 microservices-platform 项目重新写一套轮子,学习这个项目的源码同时并完善一套新的体系,所以我新开了本专栏《微服务轮子项目》。
本项目将会开源到Github
,以便大家的阅读与参考,附上Github
的地址:
注意:本篇是本专栏的开篇,相当于该专栏的目标与风向舵,因此会随着工作中的实际项目不断的去更新。
下面来开启一段有趣的旅行吧!
2. 关于 microservices-platform
Github地址:https://github.com/zlt2000/microservices-platform
详细文档地址:https://www.kancloud.cn/zlt2000/microservices-platform/919413
3. 整体架构图
4. 环境要求
建议电脑配置:
- CPU I5
- 内存32GB
- 或者电脑采用集群化部署
开发环境要求:
- JDK统一要求:JDK11
- Maven统一管理jar(版本3.3.6)
- 统一采用Docker+Jenkins的方式安装软件
- 开发工具IDEA
5. 平台支撑
使用云服务资源或者本地物理部署,下面列出资源表:
服务 | 阿里云 | 腾讯云 | 华为云 | 本地 |
服务器 | ECS | CVM | ECS | CentOS |
对象存储服务 | OSS | COS | OBS | FastDFS、FTPServer |
文件系统 | NAS | CFS | SFS | FastDFS、FTPServer |
负载均衡系统 | SLB | CLB | ELB | Nginx |
数据库 | RDS-MySQL | CDB-MySQL | MySQL | MySQL |
缓存数据库 | Redis | Redis | Redis | Redis、MemCache |
Kafka消息队列 | Kafka | CKafka | Kafka | Kafka |
现在很少企业使用本地部署了,因为人力和物力的费用太昂贵了,所以本专栏采用的是云上服务器来部署。
6. 团队协作
当然本专栏也会讲解一些团队协作工具的使用,例如:
- 代码Git管理
- 禅道Bug管理
- Swagger接口管理(or PostMan)
- Jenkins交付管理
- Jira项目管理
- Seafile文档管理
- 腾讯IM会议管理
- Axure原型管理
- 其它待补充…
7. 总结