Java资源分享网 - 专业的Java学习网站 学Java,上Java资源分享网
Java高并发手册 PDF 下载
匿名网友发布于:2024-03-17 16:14:25
(侵权举报)
(假如点击没反应,多刷新两次就OK!)

Java高并发手册 PDF 下载  图1

 

 

 

资料内容:

 

架构设计总结

架构的调整是否必须按照上述演变径进? 不是的,以上所说的架构演变顺序只是针对某个侧面进行单独的

改进,在实际场景中,可能同一时间会有几个问题需要解决,或者可能先达到瓶颈的是另外的方面,这时候就

应该按照实际问题实际解决。如在政府类的并发量可能不大,但业务可能很丰富的场景,高并发就不是重点解决

的问题,此时优先需要的可能会是丰富需求的解决方案。

对于将要实施的系统,架构应该设计到么程度? 对于单次实施并且性能指标明确的系统,架构设计到能够支

持系统的性能指标要求就足够了,但要留有扩展架构的接口以便不备之需。对于不断发展的系统,如电商平台,

应设计到能满足下一阶段用户量和性能指标要求的程度,并根据业务的增长不断的迭代升级架构,以支持更高的

并发和更丰富的业务。服务端架构和大数据架构有么区别? 所谓的“大数据”其实是海量数据采集清洗转换、数据存储、数据分析、

数据服务等场景解决方案的一个统称,在每一个场景都包含了多种可选的技术,如数据采集有Flume、 Sqoop、

Kettle等,数据存储有分布式文件系统HDFS、FastDFS,NoSQL数据库HBase、MongoDB等,数据分析有Spark技

术栈、机器学习算法等。总的来说大数据架构就是根据业务的需求,整合各种大数据组件组合而成的架构,一

般会提供分布式存储、分布式计算、多维分析、数据仓库、机器学习算法等能力。而服务端架构更多指的是应用

组织层面的架构,底层能力往往是由大数据架构来提供。

有没有一些架构设计的原则?

N+1设计。系统中的每个组件都应做到没有单点故障;

回滚设计。确保系统可以向前兼容,在系统升级时应能有办法回滚版本;

禁用设计。应该提供控制具体功能是否可用的配置,在系统出现故障时能够快速下线功能;

监控设计。在设计阶段就要考虑监控的手段;

多活数据中心设计。若系统需要极高的高可用,应考虑在多地实施数据中心进行多活,至少在一个机房

断电的情况下系统依然可用;

采用成熟的技术。刚开发的或开源的技术往往存在很多隐藏的bug,出了问题没有商业支持可能会是一个

灾难;

资源隔离设计。应避免单一业务占用全部资源;

架构应能水平扩展。系统只有做到能水平扩展,才能有效避免瓶颈问题;

非核心则购买。非核心功能若需要占用大量的研发资源才能解决,则考虑购买成熟的产品;

使用商用硬件。商用硬件能有效降低硬件故障的机率;

快速迭代。系统应该快速开发小功能模块,尽快上线进行验证,早日发现问题大大降低系统交付的风

险;

无状态设计。服务接口应该做成无状态的,当前接口的访问不依赖于接口上次访问的状态。