收藏 分享(赏)

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

上传人:精品资料 文档编号:11189975 上传时间:2020-02-14 格式:DOCX 页数:8 大小:18.59KB
下载 相关 举报
如何构建高可用性高扩展性的系统.docx_第1页
第1页 / 共8页
如何构建高可用性高扩展性的系统.docx_第2页
第2页 / 共8页
如何构建高可用性高扩展性的系统.docx_第3页
第3页 / 共8页
如何构建高可用性高扩展性的系统.docx_第4页
第4页 / 共8页
如何构建高可用性高扩展性的系统.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

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

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

3、ion 同步单台机器容量有限分布式缓存一致性 hash文件直连存储 DAS(Direct-Attached Storage)网络存储NAS(Network Attached Storage)SAN(Storage Area Network)分布式文件系统GFSHDFS数据库问题cache页面静态化页面片段缓存数据缓存分库按业务拆库跨库访问需要多次查询;跨库写需要分布式事务异步数据库访问传统方式:阻塞 IO异步方式:非阻塞、异步 IO中间层 DAL(Data Access Layer)透明化分库分表规则隔离业务服务器和数据库服务器2.2.2 大数据量性能压力读写分离对称复制非对称复制多 master多个 master 数据不同多个 master 数据相同数据一致性问题复制两阶段提交三阶段提交Google paxos自增 id程序统一生成2.2.3 计算能力MapReduceMPI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报