PaaS微服务架构图
2020-04-08 10:46:45 36 举报
微服务架构图
作者其他创作
大纲/内容
日志
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
GITLAB
文件图片视频音频
任务调度
8、Pipeline(Jenkinsfile)
10、发布
Kubernetes
浏览器
库存访问
监控
存储层
鉴权服务
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)
商品服务
8、2生成docker images
H5
keepalive
外网
Tracker
ES二级索引
harbor镜像仓库
WEB后台
Seata
防火墙
4.1、网关统一认证4.2、url级权限控制4.3、支持oauth2的四种模式登录4.4、支持用户名、密码加图形验证码登录4.5、支持手机号加密码登录4.6、支持openId登录4.7、支持第三方系统单点登录
2、系统监控功能
checkout code
Storage
限流、熔断、降级
钉钉
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
监控中心
其它访问
技术简介
任务调度XXL-JOB
缓存
filebeat日志收集
11、K8S API
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、统一异常处理
Mysql分库集群
库存服务
8、1
订单访问
负载均衡
0 条评论
下一页