【成为架构师3-20】章节小结:千万流量,这些技术就够了:服务化、数据库、缓存

系列文章是博主对沈剑的《架构师训练营》分享内容的个人笔记总结,原内容公众号“成为架构师”。

千万流量:大致就是每秒钟几百个请求

服务化
服务化的好处
  1. 提升复用性,消除代码拷贝
  2. 保证专注性,屏蔽底层(数据库集群)复杂性,防止复杂性扩散
  3. 保证SQL的高质量
  4. 能够保证数据库的扩展性,消除数据库耦合
  5. 提升研发效率,调用方就像调用本地函数一样使用服务
微服务的粒度

四种微服务粒度

  1. 统一一个服务层
  2. 一个子业务一个服务(时间最多)
  3. 一个库一个服务
  4. 一个接口一个服务
服务化下系统的高可用

总的方法论:集群冗余 + 故障的自动转移

细节:

  1. “端” 到 “反向代理” (反向代理冗余,keepalived + vip)
  2. “反向代理” 到 “站点应用” (站点层冗余,nginx和web-server之间的存活性探测与故障自动转移)
  3. “站点应用” 到 “微服务“(服务层冗余,server连接池来实现故障自动转移)
  4. ”微服务“ 到 ”缓存“(客户端对缓存双读双写,或缓存集群主从同步,sentinel保活与故障自动转移)
  5. ”微服务“ 到 ”读库“(微服务到读库的连接池来实现)
  6. ”微服务“ 到 “写库”(写库的冗余,写库keepalived + vip)
微服务下的高并发

方法论:垂直扩展,水平扩展(理论无限性能)

细节:

  1. 反向代理层(DNS轮询)
  2. 站点应用层(nginx配置)
  3. 微服务层(服务连接池)
  4. 数据层(数据切分)
微服务下的负载均衡
  1. 反向代理层,站点应用层,微服务层,数据层分别通过DNS轮询,nginx,服务连接池,数据与请求的均衡来实现负载均衡
  2. 连接池,高可用/高并发/负载均衡,都与连接池有关
  3. 过载保护不掉底,静态权重,动态权重法
数据库
数据库基础设计,设计什么

任何脱离业务的架构都是耍流氓

  1. 依据“业务模式”设计库表结构
  2. 依据“访问模式”
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值