zl程序教程

您现在的位置是:首页 >  其他

当前栏目

微服务轮子项目(01) - 整体架构

项目架构服务 01 整体 轮子
2023-09-11 14:15:40 时间

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. 平台支撑

使用云服务资源或者本地物理部署,下面列出资源表:

服务阿里云腾讯云华为云本地
服务器ECSCVMECSCentOS
对象存储服务OSSCOSOBSFastDFS、FTPServer
文件系统NASCFSSFSFastDFS、FTPServer
负载均衡系统SLBCLBELBNginx
数据库RDS-MySQLCDB-MySQLMySQLMySQL
缓存数据库RedisRedisRedisRedis、MemCache
Kafka消息队列KafkaCKafkaKafkaKafka

现在很少企业使用本地部署了,因为人力和物力的费用太昂贵了,所以本专栏采用的是云上服务器来部署。

6. 团队协作

当然本专栏也会讲解一些团队协作工具的使用,例如:

  • 代码Git管理
  • 禅道Bug管理
  • Swagger接口管理(or PostMan)
  • Jenkins交付管理
  • Jira项目管理
  • Seafile文档管理
  • 腾讯IM会议管理
  • Axure原型管理
  • 其它待补充…

7. 总结

在这里插入图片描述