PaaS微服务架构图
2023-06-05 15:25:52 2 举报
微服务架构图
作者其他创作
大纲/内容
日志
6、K8S API
短信
Docker images
配置
弹性容器云发布系统
Jenkins构建过程
lock
3、Jenkinsfile4、Dockerfile
内网
业务逻辑服务层
master
ElasticSearch
RocketMQ集群
网关服务
邮件
1.1、服务注册发现、路由与负载均衡1.2、服务降级与熔断1.3、服务限流(url/方法级别)1.4、统一配置中心1.5、统一日志中心1.6、统一搜索中心1.7、统一分布式缓存操作类、1.8、cacheManager配置扩展1.9、分布式锁1.10、分布式任务调度器1.11、支持CI/CD持续集成(包括前端和后端)1.12、分布式Id生成器1.13、分布式事务(强一致性/最终一致性)1.14、日志链路追踪
Prometheus
1、分布式系统基础支撑
数据访问层
Client
2.1、服务调用链监控2.2、应用拓扑图2.3、应用统一日志查询2.4、慢查询SQL监控2.5、应用吞吐量监控(qps、rt)2.6、服务降级、熔断监控2.7、服务限流监控2.8、微服务服务监控2.9、服务器监控2.10、redis监控2.11、mysql监控2.12、elasticSearch监控2.13、nacos监控2.14、prometheus监控
slave
监控报警系统
运维
Kafka
Redis集群
Elasticsearch
binlog 同步
GITLAB
文件图片视频音频
任务调度
Kubernetes
8、Pipeline(Jenkinsfile)
10、发布
浏览器
库存访问
监控
存储层
鉴权服务
Canal server
7、创建Jenkins Slave
Kibana
Grafana
业务服务层
服务注册发现
开发
交易服务
日志系统
在Kubernetes中使用CI/CD,一般的步骤为:(1)在GitLab创建对应的项目。(2)开发者将代码提交到GitLab。(3)Jenkins创建对应的任务(Job),集成该项目的Git地址和Kubernetes集群。(4)如有配置钩子,推送(Push)代码会自动触发Jenkins构建,如没有配置钩子,需要手动构建。(5)Jenkins控制Kubernetes(使用的是Kubernetes插件)创建Jenkins Slave。(6)Jenkins Slave根据流水线(Pipeline)定义的步骤执行构建。(7)通过Dockerfile生成镜像。(8)将镜像提送(Push)到私有Harbor。(9)Jenkins再次控制Kubernetes进行最新的镜像部署。上面流水线步骤一般写在Jenkinsfile中,Jenkins会自动读取该文件,同时Jenkinsfile和Dockerfile可一并和代码放置于GitLab中,或者单独配置。
链路追踪
es
分布式锁
搜索
CDN
pod
12、pullimages
Nginx集群
订单服务
消息队列
交易访问
DNS解析
APP
用户服务
测试环境容器云
服务注册
服务注册/发现
2、job5、构建
Logstash
对象存储(FastDFS)
Alertmanager
1、提交代码
网关层
Docker build(dockerfile)
商品服务
H5
8、2生成docker images
keepalive
外网
Tracker
ES二级索引
harbor镜像仓库
WEB后台
防火墙
4.1、网关统一认证4.2、url级权限控制4.3、支持oauth2的四种模式登录4.4、支持用户名、密码加图形验证码登录4.5、支持手机号加密码登录4.6、支持openId登录4.7、支持第三方系统单点登录
2、系统监控功能
checkout code
Storage
限流、熔断、降级
分布式事务
Seata
钉钉
CI/CD
监控警告
网关接入服务Gateway Access Service
注册、配置中心(Nacos集群)
商品访问
zabbix
用户访问
skywarking
技术栈
业务数据
服务发现
9、push images
nacos实例
基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合并且高度可配置化。实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能
其他服务
4、统一认证功能
PaaS微服务架构图
Unit Testing
Jenkins Master
redis
生产环境容器云
3、业务基础功能支撑
pod/Jenkins Slave
springboot admin
1、分布式系统套件版本:Spring Boot 2.x + Spring Cloud + Spring Cloud Alibaba2、服务治理注册与发现:Spring Cloud Alibaba Nacos(注意0.8.0才是生产可用状态)3、统一配置中心:Spring Cloud Alibaba Nacos4、服务降级、熔断和限流:alibaba/Sentinel5、网关路由代理调用:Spring Cloud Gateway6、声明式服务调用:Spring Cloud OpenFeign7、服务负载均衡:Spring Cloud Netflix Ribbon8、服务安全认证:Spring Security (jwt 、oauth2)9、数据访问层:Mybatis-plus10、数据库:mysql5.6+11、分布式事务:alibaba/Seata(注意1.0才是生产可用状态)12、统一日志收集存储:ELK + Filebeat13、服务应用监控:Spring Cloud Admin14、服务调用链监控:Skywalking15、分布式任务调度:XXL-JOB16、分库分表:Sharding-JDBC17、容器管理平台:Rancher k8s docker 18、代码工具:idea svn nexus maven jekins 19、中间件:rocketMQ Elasticsearch Redis Canal fastdfs20、前端:vue-element-admin freemarker jsp html
监控中心
rocketMQ
其它访问
技术简介
任务调度XXL-JOB
缓存
Canal apater
filebeat日志收集
3.1、多租户(应用隔离)3.2、高性能方法级幂等性支持3.3、RBAC权限管理,实现细粒度控制(方法、url级别)3.4、快速实现导入、导出功能3.5、数据库访问层自动实现crud操作3.6、代码生成器3.7、基于Hutool的各种便利开发工具3.8、网关聚合所有Swagger接口文档3.9、统一跨域处理3.10、统一异常处理
11、K8S API
Mysql分库集群
库存服务
订单访问
8、1
负载均衡
0 条评论
下一页