- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
大型网站技术架构核心原理与案例分析INFORMATIONSHARE方阳2017.02金融核心研发@信息技术中心
目录网站的演化1大型网站的架构模式2核心要素分析3CONTENTS
什么样的网站才算是大型网站?高并发,大流量高可用海量的数据用户分布广泛,网络情况复杂安全环境恶劣需求快速变更,发布频繁渐进式的发展网站的演化1
大型网站都是由小型网站发展而来,架构也是如此网站的演化初始阶段的网站,一台服务器包含应用、数据库等应用与数据分离使用缓存改善性能使用服务器集群改善网站的并发处理能力数据库读写分离使用反向代理和CDN加速网站相应使用分布式文件系统和分布式数据库系统使用NoSQL和搜索引擎业务拆分分布式服务1
网站架构的演化网站的演化1
大型网站架构技术的价值观是随网站所需灵活应对驱动大型网站技术发展的主要力量是网站的业务发展网站技术是为了业务而存在的,脱离业务发展的实际,可能会将技术发展引入小道技术是用来解决业务问题的,而业务问题,也可以通过业务的手段解决大型网站的价值观
有管软件整体结果与组件的抽象描述,用于知道大型软件系统各个方面的设计最高层次的规划,难以改变的决定。这些规划和决定奠定了事务未来发展的方向和最终的蓝图软件架构是什么?架构是什么?网站架构
大型网站的架构模式架构模式分层分割分布式集群缓存异步冗余自动化安全
分层大型网站的架构模式分层将系统横向维度上切分成几个部分,每个部分负责比较单一的职责,通过上层对下层的依赖和调用组成一个完整的系统禁止跨层次的调用和逆向调用2
分割大型网站的架构模式分割如果说分层是将软件在横向方面进行切分,那么分隔就是在纵向方面对软件进行切分大型网站分隔的粒度可能会很小。比如在应用层,将不同业务进行分隔,例如将购物、论坛、搜索、广告分隔成不同的应用,有对立的团队负责,部署在不同的服务器上2
分布式大型网站的架构模式分布式分布式是指将不同的业务分布在不同的地方分布式应用和服务,把应用和服务模块分布式部署分布式静态资源:把JS,CSS,JPG图片等资源独立分布式部署,并采用独立的域名分布式数据和存储:大型网站的海量数据,单台计算机无法提供空间时,需要分布式部署分布式计算:应用、服务、数据处理都是计算,这些计算量非常庞大,目前很多网站采用hadoop及其MapRedcuce分布式计算框架2
集群大型网站的架构模式集群集群是指将多台服务器集中在一起,实现同一业务对于用户访问集中的模块需要将独立部署的服务器集群化,即多台服务器部署相同的应用构成一个集群,通过负载均衡设备共同对外提供服务服务器集群能够为相同的服务提供更多的并发支持,因此当有更多的用户访问时,只需要向集群中加入新的机器即可;另外可以实现当其中的某台服务器发生故障时,可以通过负载均衡的失效转移机制将请求转移至集群中其他的服务器上,因此可以提高系统的可用性2
缓存大型网站的架构模式缓存缓存目的就是减轻服务器的计算,使数据直接返回给用户。在现在的软件设计中,缓存已经无处不在。具体实现有CDN、反向代理、本地缓存、分布式缓存等使用缓存有两个条件:访问数据热点不均衡,即某些频繁访问的数据需要放在缓存中;数据在某个时间段内有效,不过很快过期,否则会因为数据过期而脏读,影响数据的正确性缓存除了可以加快数据的访问速度,还可以减轻后端应用和数据存储的负载压力2
异步大型网站的架构模式异步使用异步,业务之间的消息传递不是同步调用,而是将一个业务操作分成多个阶段,每个阶段之间通过共享数据的方法异步执行进行协作异步调用可以提高系统的可用性,加快网站的响应速度,消除并发访问高峰。但是可能会对用户体验及业务流程造成影响2
大型网站的架构模式冗余网站需要7×24小时连续运行,那么就得有相应的冗余机制,以防某台机器宕掉时无法访问,而冗余则可以通过部署至少两台服务器构成一个集群实现服务高可用。数据库除了定期备份还需要实现冷热备份。甚至可以在全球范围内部署灾备数据中心2
大型网站的架构模式自动化具体有自动化发布过程,自动化代码管理、自动化测试、自动化安全检测、自动化部署、自动化监控、自动化报警、自动化失效转移、自动化失效恢复等2
安全身份验证、加密、防火墙等大型网站的架构模式2
核心要素3高性能一可用性二扩展性四伸缩性三安全性五
用户眼中的网站性能高性能3
开发眼中的网站性能高性能开发眼中的网站性能开发人员关注的是应用程序本身和相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性等。主要优化手段有:使用缓存加速数据读取,使用集群提高吞吐能力,使用异步消息加快请求相应,使用代码优化改善性能3
运维眼中的网站性能高性能运维眼中的网站性能运维人员关注的基础设施性能和资源利用
文档评论(0)