预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

v1.0可编辑可修改v1.0可编辑可修改v1.0可编辑可修改如何构建高可用性高扩展性的系统高可用性避免故障明确使用场景保持系统简单设计可容错系统FailFast原则主流程任何一步出现问题,就应该快速结束接口和对象设计要严谨能否被重复调用多线程并发环境下是否有异常对象类型是否需要检查设计具备自我保护能力的系统对第三方资源持怀疑态度,提供降级措施限制使用资源内存防止集合容量过大造成OOM及时释放不再使用的对象文件网络连接资源线程池其他角度分析可能的风险及时发现故障监控报警系统日志系统和分析系统及时故障处理降级限流访问量上涨的应对策略垂直伸缩增加配置水平伸缩增加机器拆分按业务拆库按规则拆表读写分离实时性要求不高、读多写少的系统如何快速地从写库复制到读库其他容量规划高可扩展性垂直伸缩高访问量增加CPU锁线程数单线程程序增加内存cacheJVM堆大数据量分表单表数据量减少跨表查询、分页查询复杂度提升计算能力线程数提升水平伸缩高访问量SNA(SharedNothingArchitecture)有状态的部分,放入缓存或数据库中有状态的情况存在内存的状态广播同步例如session同步单台机器容量有限分布式缓存一致性hash文件直连存储DAS((Direct-AttachedStorage)网络存储NAS(NetworkAttachedStorage)SAN(StorageAreaNetwork)分布式文件系统GFSHDFS数据库问题cache页面静态化页面片段缓存数据缓存分库按业务拆库跨库访问需要多次查询;跨库写需要分布式事务异步数据库访问传统方式:阻塞IO异步方式:非阻塞、异步IO中间层DAL(DataAccessLayer)透明化分库分表规则隔离业务服务器和数据库服务器大数据量性能压力读写分离对称复制非对称复制多master多个master数据不同多个master数据相同数据一致性问题复制两阶段提交三阶段提交Googlepaxos自增id程序统一生成计算能力MapReduceMPI