微服务、集群、分布式区别及联系
- 分布式:一个业务分拆多个子业务。部署在不同的服务器上。是微服务。
- 微服务:将模块拆分成一个独立的服务单元通过接口来实现数据的交互。不一定是分散在多个服务器上,他也可以是同一个服务器。
- 集群:同一个业务,部署在多个服务器上。
ESB(企业服务总线)相关知识点总结
https://www.jianshu.com/p/10ec5b86296f
千万级并发下,淘宝服务端架构如何演进?
http://www.sohu.com/a/320347563_463994
分布式与集群的区别是什么?
https://blog.csdn.net/chenchunlin526/article/details/86077674
设计原则
N+1 设计。系统中的每个组件都应做到没有单点故障。
回滚设计。确保系统可以向前兼容,在系统升级时应能有办法回滚版本。
禁用设计。应该提供控制具体功能是否可用的配置,在系统出现故障时能够快速下线功能。
监控设计。在设计阶段就要考虑监控的手段。
多活数据中心设计。若系统需要极高的高可用,应考虑在多地实施数据中心进行多活,至少在一个机房断电的情况下系统依然可用。
采用成熟的技术。刚开发的或开源的技术往往存在很多隐藏的 Bug,出了问题没有商业支持可能会是一个灾难。
资源隔离设计。应避免单一业务占用全部资源。
架构应能水平扩展。系统只有做到能水平扩展,才能有效避免瓶颈问题。
非核心则购买。非核心功能若需要占用大量的研发资源才能解决,则考虑购买成熟的产品。
使用商用硬件。商用硬件能有效降低硬件故障的机率。
快速迭代。系统应该快速开发小功能模块,尽快上线进行验证,早日发现问题大大降低系统交付的风险。
无状态设计
网关作用
- 鉴权
-
全链路跟踪
TIM图片20190924202128.png
分布式一般架构图


网友评论