微服务架构的中台系统架构图核心思想:
该图描绘了一个基于微服务架构的中台系统。中台作为企业级能力复用平台,通过微服务的方式将通用能力进行封装和共享,从而提高效率、降低、并支持业务的快速创新。这是一个典型的多元化系统架构,它强调了服务的注册与发现、负载均衡、API网关、服务监控、队列追踪、消息队列、存储、数据库以及持续集成和容器化部署等关键组件。
从上到下,从左到右,依次解析:
1. 终端设备(左上角):
-
包含各种客户端,如Web应用、移动App、小程序等,它们通过API网关访问中台服务。
2.第三方服务(右上角):
-
以“短信服务”为例,表明架构会调用第三方服务,例如短信验证码、支付接口等。
3. 边缘设备(边缘中部偏上):
-
可能是反向代理服务器,用于处理用户的静态资源请求,如图片、js、css等,了解服务器压力。
4. 负载均衡(LVS):
-
LVS(Linux Virtual Server)是一种常见的四层负载均衡器,用于将用户请求分发到不同的负载服务器,提高系统的可用性和性能。
5. Nginx集群(中部偏上):
-
Nginx 是一种高性能的 Web 服务器和反向代理服务器,这里组成集群,用于七层负载均衡,根据 URL、Host 等信息将请求转发到不同的本地服务。
6. API网关(Gateway):
-
网关是整个系统的入口,负责请求过滤、用户鉴权、服务熔断、动态路由、接口限流等。
-
请求过滤:恶意请求,保障系统安全。
-
用户鉴权:验证用户身份,防止未授权访问。
-
服务熔断:当某个服务出现故障时,熔断机制可以防止故障爆发。
-
动态路由:根据请求路由到不同的服务实例。
-
接口限流:防止过多的请求冲击第三方服务,保证系统的稳定性。
-
7. 服务注册与发现(consul):
-
Consul 是一种流行的服务发现和配置管理工具。
-
注册中心:服务启动时将自己的信息注册到Consul。
-
心率检测:领事定期检查服务健康状态。
-
多节点相互注册: Consul 集群集群相互注册,保证高可用。
-
8. 服务中心(TSF论坛):
-
TSF (Tencent Service Framework) 是腾讯开源的微服务框架,这里指代的是微服务集群。
-
业务服务:具体的业务逻辑实现。
-
微服务名称:每个微服务都有唯一的名称,方便调用。
-
服务编排: 将多个微服务组合成一个更大的应用。
-
DEV/QA/ONLINE: 表示不同的环境,如开发环境、测试环境和生产环境。
-
9. 服务监控:
-
监控微服务的运行状态,包括CPU、内存、请求量、响应时间等。
10. 随行追踪:
-
跟踪请求在微服务之间的调用路径,帮助定位问题。
11.配置中心:
-
统一管理微服务的配置,支持动态更新。
12.资源访问管理:
-
控制对系统资源的访问权限,保证安全性。
13. 中间件:
-
消息队列 (MQ/kafka):用于异步处理请求,削峰填谷,提高系统性能和可用性。
-
削峰:当请求量过大时,将请求放入消息队列,其中服务队列处理。
-
日志:收集系统日志。
-
事务:保证消息的可靠传输。
-
14.缓存(Redis):
-
Redis 是一种高性能的内存数据库,用于服务器热点数据,提高访问速度。
-
pipeline(管道):批量执行Redis命令,提高效率。
-
zset ( 群体集合 ):用于实现排行榜等功能。
-
geo (断层):用于存储和查询断层信息。
-
15.存储(MySQL/TDSQL):
-
存储持久化数据。
-
分库分表:当数据量过大时,将数据分散到多个数据库和表中。
-
主库/从库:主库负责写操作,从库负责读操作,提高数据库的运算能力。
-
TDSQL:腾讯遍布数据仓库,支持海量数据存储和分析。
-
16. 日志(ES/EMR论坛):
-
使用 Elasticsearch (ES) 收集和分析日志,EMR 集群用于大数据处理和分析。
17. 持续集成和容器技术(左下角):
-
docker:容器化技术,用于资源和部署应用。
-
maven:项目管理工具,用于依赖管理和构建项目。
-
k8s:指 Kubernetes In Single machine,一种轻量级的 Kubernetes 部署方案。
-
gitlab:代码托管平台,用于版本控制和协作开发。
总结:
该图清晰地展示了一个完整的微服务架构,涵盖了从用户请求到数据存储的各个部分。它强调了高可用、高性能、可扩展和安全的架构设计理念,为构建大型异构系统提供了参考。
注意:
-
这只是一个通用的中台架构图,具体实现会根据业务需求和技术选型而有所不同。
-
对于各个组件的具体技术选型也只是示例,可以根据实际情况进行调整。
171万+

被折叠的 条评论
为什么被折叠?



