超大流量分布式系统架构解决方案

本文探讨了大规模服务化架构的演变,包括单机、集群、垂直拆分和微服务化。介绍了前后端分离架构中的API网关、灰度发布以及分布式多活数据中心。还讨论了服务治理的需求,如RPC调用、分布式事务和注册中心性能优化。此外,提到了全链路压测、流控方案、读/写优化和分库分表的实践,以及面对高并发挑战的各种解决方案。
摘要由CSDN通过智能技术生成

一.脑图

 二.笔记

  • 一.大规模服务化架构
    • 1.分布式系统的架构演变过程
      • 单机架构
      • 集群架构
      • 垂直拆分业务子系统
        • 根据系统业务功能的不同拆分多个业务模块,由不同的业务团队负责承建,分而治之,独立部署。
          • 以大型电商网站为例,拆分为首页、用户、搜索、广告、购物、订单、商品、收益结算等子系统
        • 注意把控拆分系统等粒度,如果拆分过细,会导致维护成本过高
        • 作用
          • 降低业务耦合、实现高内聚低耦合,提升系统容错性
          • 业务垂直化改造可以防止一些非核心模块的问题导致核心模块出现问题
      • 服务化架构演进
        • 前提
          • 进行服务化改造的前提条件: 用户规模逐渐扩大,多元化的业务出现,技术人员扩充导致多人维护一个模块时,就可以进行服务化的改造,否则都不太适合
        • 目的
          • 整合共同服务
          • 整合底层资源
            • 如 数据库连接
          • 减少功能开发维护难度(代码解耦)
      • 前后端分离架构演进
      • API网关服务
        • 职责
          • 系统入口,所有前端请求通过网关访问后端服务
          • 统一负责处理公共逻辑
            • 比如:鉴权、流控、日志记录、安全防护、负载均衡、灰度发布
            • 灰度发布
              • 通过一系列的规则和策略,先将一小部分的用户作为“金丝雀”,让其请求路由到新版本应用上进行观察,待运行正常后,再逐步导流更多的用户到灰度环境中
              • 作用
                • 快速试错,尽可能控制和缩小问题的影响范围
                • 收集用户的使用反馈,完善和改进当前产品
        • 选型
          • springCloud + Zuul
          • Dubbo + 自建WebServer
        • 网关层的引入并非必须,但是业务越复杂,网关的好处就会越明显
      • 分布式多活数据中心架构演进
        • 主中心负责核心业务的正常流转,其他数据中心负责数据备份及承担一些边缘业务
          • 假设主数据中心发生重大灾难,灾备数据中心可以接管,减少对用户的影响
        • 传统企业
          • 两地三中心
            • 生产数据中心
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值