架构设计需要考虑的问题
避免单点故障LB,AS,K8S(HPA)可伸缩性网络能力计算能力存储能力可扩展性应用扩展业务解耦+中间件+微服务如何做好微服务:业务拆分服务治理(Spring cloud/Dubbo/K8S等)自动测试自动运维监控安全性(WAF等)服务加速(CDN等)成本控制...
·
一、架构设计原则
-
避免单点故障
LB,AS,K8S(HPA) -
可伸缩性
网络能力
计算能力
存储能力 -
可扩展性
应用扩展
业务解耦+中间件+微服务
- 如何做好微服务:
业务拆分
服务治理(Spring cloud/Dubbo/K8S等)
自动测试
自动运维
监控
- 安全性(WAF、服务器安全等)
- 服务加速(CDN等)
- 成本控制及优化
二、架构优化总结
从需求出发,整体分析
找到关键点,做到不遗漏
设定优化路径,架构的优化不是一蹴而就
遵循架构设计原则
三、高性能架构要素
应用:代码、服务器性能
存储:缓存、CDN
网络:网络带宽、网络路径优化(腾讯AnyCas(基于IP)/DSA(基于域名)云内专线)
四、解耦设计
前后端分离
微服务设计
消息队列MQ(异步、解耦)
- 异步通信场景:异步通知、一对多生产系统解耦。在线图片处理、海量数据处理、IoT等。以rocketmq/rabbitmq为代表。
- 大数据场景:具有数据压缩,支持离线和实时数据处理等特点,适用于日志压缩收集、监控数据聚合等,以kafka为代表。
- 缺点:系统复杂度提高、数据处理一致性问题、研发个人能力要求。
服务治理:Spring Cloud生态、Dubbo、Service Mesh生态
微服务API网关(统一入口管理、API商业等)
服务注册
服务鉴权
应用管理:虚拟机+容器
弹性伸缩
配置中心
发布管理
监控服务
日志服务
更多推荐
已为社区贡献14条内容
所有评论(0)