码迷,mamicode.com
首页 > 其他好文 > 详细

高可用的分布式系统架构探讨

时间:2017-12-03 11:37:01      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:下载   设置   架构   bin   微服务   特殊情况   请求   www.   开源   

大型网站应该在任何时候都可以正常访问。正常提供对外服务。因为大型网站的复杂性,分布式,廉价服务器,开源数据库,操作系统等特点。要保证高可用是很困难的,也就是说网站的故障是不可避免的。

如何提高可用性,就是需要迫切解决的问题。首先,需要从架构级别,在规划的时候,就考虑可用性。行业内一般用几个9表示可用性指标。比如四个9(99.99),一年内允许的不可用时间是53分钟。

不同层级使用的策略不同,一般采用冗余备份和失效转移解决高可用问题。

1.应用层

在springcloud中给客户在浏览器中访问的web服务,一般设计为无状态的,对于每次请求,使用哪一台服务器处理是没有影响的。一般使用负载均衡技术(需要解决Session同步问题),实现高可用。
http://blog.csdn.net/forezp/article/category/6830968
https://www.cnblogs.com/zhangjianbin/p/6263178.html

2.服务层

在springcloud中处理各个业务逻辑的微服务,有以下几个处理方法。

①负载均衡

http://blog.csdn.net/forezp/article/details/69788938

②分级管理

⑥快速失败(超时设置)

有个问题,需要考虑到导出下载,文件上传等特殊情况

④异步调用

可以看看这篇文章 http://blog.didispace.com/springbootasync/

⑤服务降级

http://blog.csdn.net/guwei9111986/article/details/51649240
http://blog.sina.com.cn/s/blog_54ef39890102v0bo.html

⑥幂等设计

https://www.cnblogs.com/wxgblogs/p/6639272.html

3.数据层

①冗余备份(冷,热备[同步,异步],温备)
②失效转移(确认,转移,恢复)
数据高可用方面著名的理论基础是CAP理论(持久性,可用性,数据一致性[强一致,用户一致,最终一致])
http://www.cnblogs.com/glacierh/category/835705.html

高可用的分布式系统架构探讨

标签:下载   设置   架构   bin   微服务   特殊情况   请求   www.   开源   

原文地址:http://www.cnblogs.com/shamo89/p/7965456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!