互联网架构学习(二)-架构核心技术

架构高可用

什么是架构的高可用

在这里插入图片描述

从哪些方面来保证高可用
  • 硬件服务器保证高可用。
  • 软件应用程序保证高可用。

高可用的手段

  • 无状态化设计,随时可进行服务的上线和下线操作。
  • 幂等性设计,重要交易需要设置幂等设计,同一个请求发送多次不会受到影响。
  • 异步设计,适当引入队列,非紧急的计算或者不需要同步返回的可以使用队列进行异步处理。
  • 缓存,容错,系统需要支持限流,失败重试等机制,确保一次不成功,会自动调用第二次。
  • 服务治理,服务的监控需要了如指掌(硬件方面的监控和应用程序方面的监控)。
    • 监控方向有:
    • 请求的平均耗时
    • 请求的异常条数
    • 请求的qps
    • 异常码的监控
    • 程序异常的监控
  • 服务接口级别一边会为每一个接口进行定级(优先级说高、中、低),等级越高的越需要保证高可用性,反之亦然。

在这里插入图片描述

系统高可用的评定指标

系统性能的评定指标
在这里插入图片描述

系统高可用的优化手段

  • 空间换时间
  • 时间换空间
  • 找到系统瓶颈进行相对应的优化
  • 读写分离
  • 分库分表

在这里插入图片描述

分布式锁的设计

基于redis的分布式锁

在这里插入图片描述

分布式锁设计目标

在这里插入图片描述

分布式锁的选择方案

综合下来选择etcd作为分布式锁比较靠谱
在这里插入图片描述

分布式事务的设计与实践

在这里插入图片描述

分布式事务类型

不同类型的分布式事务处理方法有着不同的优缺点。

  • 刚性分布式事务
    • 强一致性、XA模型、CP模型
    • 案例:2PC(两阶段提交)
  • 柔性分布式事务
    • 最终一致性、AP模型
    • 案例:TCC模型、Saga模型
      在这里插入图片描述

服务降级设计与实践

发布了188 篇原创文章 · 获赞 34 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u010316188/article/details/93336043