微服务轮子项目(01) - 整体架构
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. 总结
相关文章
- 游戏项目中如何制定资源管理与加载策略
- 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问
- 群体智能自主作业智慧农场项目启动及实施方案论证会议
- 淘东电商项目(35) -SSO单点登录(登录功能完善)
- 09分布式电商项目 - SOA架构演变
- 技术流|使用开源项目的正确姿势:如果没有你要的轮子,那就重新造吧!
- MVC项目实践,在三层架构下实现SportsStore,从类图看三层架构
- MVC项目实践,在三层架构下实现SportsStore-09,ASP.NET MVC调用ASP.NET Web API的查询服务
- MVC项目实践,在三层架构下实现SportsStore-08,部署到IIS服务器
- MVC项目实践,在三层架构下实现SportsStore-07,实现订单提交
- MVC项目实践,在三层架构下实现SportsStore-06,实现购物车
- Django学习:1. Django项目的搭建
- IntelliJ IDEA教程之如何clean或者install Maven项目
- SwiftUI SQLite 教程之 构建App本地数据库实现创建、读取、更新和删除(教程含完成项目源码)
- SwiftUI 快速开发模版之 macOS 内容格式转换项目架构代码
- macOS SwiftUI开发教程之Scenekit 3D飞机 (项目含源码)
- Qt项目架构经验总结
- 一段凄惨Android 面试经历分享,败在了项目架构原理上……
- [课堂实践与项目]手机QQ客户端--4期(SQLite的加入,注册,找回,登录界面的修改):建立关于QQ注册类,使用SQLite进行存储,
- (二)xxx项目整体设计与项目架构及其技术选型(附源码)