如何构建高可用性高扩展性的系统

如何构建高可用性高扩展性的系统

ID:45745231

大小:20.69 KB

页数:8页

时间:2019-11-17

如何构建高可用性高扩展性的系统_第1页
如何构建高可用性高扩展性的系统_第2页
如何构建高可用性高扩展性的系统_第3页
如何构建高可用性高扩展性的系统_第4页
如何构建高可用性高扩展性的系统_第5页
资源描述:

《如何构建高可用性高扩展性的系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何构建高可用性高扩展性的系统1高可用性1.1避免故障1.1.1明确使用场景保持系统简单1.1.2设计可容错系统FailFast原则主流程任何一步出现问题,就应该快速结束接口和对象设计要严谨能否被重复调用多线程并发环境下是否有异常对象类型是否需要检查1.1.3设计具备自我保护能力的系统对第三方资源持怀疑态度,提供降级措施1.1.4限制使用资源内存防止集合容量过大造成OOM及时释放不再使用的对象文件网络连接资源线程池1.1.1其他角度分析可能的风险1.2及时发现故障1.2.1监控报警系统1.2.2日志系统和分析系统1.3及时故障处理1.3.1降级1.3.2限流1.

2、4访问量上涨的应对策略1.1.1垂直伸缩增加配置1.1.2水平伸缩增加机器1.1.3拆分按业务拆库按规则拆表1.1.4读写分离实时性要求不高、读多写少的系统如何快速地从写库复制到读库1.1.5其他容量规划2高可扩展性2.1垂直伸缩2.1.1高访问量增加CPU锁线程数单线程程序增加内存cacheJVM堆1.1.1大数据量分表单表数据量减少跨表查询、分页查询复杂度提升1.1.2计算能力线程数提升1.2水平伸缩1.2.1高访问量SNA(SharedNothingArchitecture)有状态的部分,放入缓存或数据库中有状态的情况存在内存的状态广播同步例如sessio

3、n同步单台机器容量有限分布式缓存一致性hash文件直连存储DAS((Direct-AttachedStorage)网络存储NAS(NetworkAttachedStorage)SAN(StorageAreaNetwork)分布式文件系统GFSHDFS数据库问题cache页面静态化页面片段缓存数据缓存分库按业务拆库跨库访问需要多次查询;跨库写需要分布式事务异步数据库访问传统方式:阻塞IO异步方式:非阻塞、异步IO中间层DAL(DataAccessLayer)透明化分库分表规则隔离业务服务器和数据库服务器1.1.1大数据量性能压力读写分离对称复制非对称复制多mast

4、er多个master数据不同多个master数据相同数据一致性问题复制两阶段提交三阶段提交Googlepaxos自增id程序统一生成1.1.1计算能力MapReduceMPI

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。