大型网站技术架构-核心原理与案例分析by方阳

大型网站技术架构-核心原理与案例分析by方阳

ID:42895297

大小:1.30 MB

页数:60页

时间:2019-09-25

大型网站技术架构-核心原理与案例分析by方阳_第1页
大型网站技术架构-核心原理与案例分析by方阳_第2页
大型网站技术架构-核心原理与案例分析by方阳_第3页
大型网站技术架构-核心原理与案例分析by方阳_第4页
大型网站技术架构-核心原理与案例分析by方阳_第5页
资源描述:

《大型网站技术架构-核心原理与案例分析by方阳》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、大型网站技术架构核心原理与案例分析INFORMATIONSHARE方阳2017.02金融核心研发@信息技术中心目录网站的演化1大型网站的架构模式2核心要素分析3CONTENTS什么样的网站才算是大型网站?高并发,大流量高可用海量的数据用户分布广泛,网络情况复杂安全环境恶劣需求快速变更,发布频繁渐进式的发展网站的演化1大型网站都是由小型网站发展而来,架构也是如此初始阶段的网站,一台服务器包含应用、数据库等应用与数据分离使用缓存改善性能使用服务器集群改善网站的并发处理能力数据库读写分离使用反向代理和CDN加速网站相应使用分布式文件系

2、统和分布式数据库系统使用NoSQL和搜索引擎业务拆分分布式服务网站的演化1网站架构的演化网站的演化1大型网站的价值观大型网站架构技术的价值观是随网站所需灵活应对驱动大型网站技术发展的主要力量是网站的业务发展网站技术是为了业务而存在的,脱离业务发展的实际,可能会将技术发展引入小道技术是用来解决业务问题的,而业务问题,也可以通过业务的手段解决网站架构架构是什么?最高层次的规划,难以改变的决定。这些规划和决定奠定了事务未来发展的方向和最终的蓝图软件架构是什么?有管软件整体结果与组件的抽象描述,用于知道大型软件系统各个方面的设计大型网站

3、的架构模式架构模式分层分割分布式集群缓存异步冗余自动化安全分层将系统横向维度上切分成几个部分,每个部分负责比较单一的职责,通过上层对下层的依赖和调用组成一个完整的系统禁止跨层次的调用和逆向调用大型网站的架构模式2分割如果说分层是将软件在横向方面进行切分,那么分隔就是在纵向方面对软件进行切分大型网站分隔的粒度可能会很小。比如在应用层,将不同业务进行分隔,例如将购物、论坛、搜索、广告分隔成不同的应用,有对立的团队负责,部署在不同的服务器上大型网站的架构模式2分布式分布式是指将不同的业务分布在不同的地方分布式应用和服务,把应用和服务模

4、块分布式部署分布式静态资源:把JS,CSS,JPG图片等资源独立分布式部署,并采用独立的域名分布式数据和存储:大型网站的海量数据,单台计算机无法提供空间时,需要分布式部署分布式计算:应用、服务、数据处理都是计算,这些计算量非常庞大,目前很多网站采用hadoop及其MapRedcuce分布式计算框架大型网站的架构模式2集群集群是指将多台服务器集中在一起,实现同一业务对于用户访问集中的模块需要将独立部署的服务器集群化,即多台服务器部署相同的应用构成一个集群,通过负载均衡设备共同对外提供服务服务器集群能够为相同的服务提供更多的并发支持

5、,因此当有更多的用户访问时,只需要向集群中加入新的机器即可;另外可以实现当其中的某台服务器发生故障时,可以通过负载均衡的失效转移机制将请求转移至集群中其他的服务器上,因此可以提高系统的可用性大型网站的架构模式2缓存缓存目的就是减轻服务器的计算,使数据直接返回给用户。在现在的软件设计中,缓存已经无处不在。具体实现有CDN、反向代理、本地缓存、分布式缓存等使用缓存有两个条件:访问数据热点不均衡,即某些频繁访问的数据需要放在缓存中;数据在某个时间段内有效,不过很快过期,否则会因为数据过期而脏读,影响数据的正确性缓存除了可以加快数据的访

6、问速度,还可以减轻后端应用和数据存储的负载压力大型网站的架构模式2异步使用异步,业务之间的消息传递不是同步调用,而是将一个业务操作分成多个阶段,每个阶段之间通过共享数据的方法异步执行进行协作异步调用可以提高系统的可用性,加快网站的响应速度,消除并发访问高峰。但是可能会对用户体验及业务流程造成影响大型网站的架构模式2冗余网站需要7×24小时连续运行,那么就得有相应的冗余机制,以防某台机器宕掉时无法访问,而冗余则可以通过部署至少两台服务器构成一个集群实现服务高可用。数据库除了定期备份还需要实现冷热备份。甚至可以在全球范围内部署灾备数

7、据中心大型网站的架构模式2自动化具体有自动化发布过程,自动化代码管理、自动化测试、自动化安全检测、自动化部署、自动化监控、自动化报警、自动化失效转移、自动化失效恢复等大型网站的架构模式2安全身份验证、加密、防火墙等大型网站的架构模式2核心要素3二三四可用性伸缩性扩展性五安全性高性能一用户眼中的网站性能高性能3开发眼中的网站性能开发人员关注的是应用程序本身和相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性等。主要优化手段有:使用缓存加速数据读取,使用集群提高吞吐能力,使用异步消息加快请求相应,使用代码优化改善性

8、能高性能3运维眼中的网站性能运维人员关注的基础设施性能和资源利用率,比如服务器硬件,数据中心网络,网络运营商主要优化手段有:建设优化骨干网,使用高性价比的服务器等高性能3判断一个网站性能好不好有哪些指标响应时间,从发出请求到收到数据所需要的时间并发数,系统能同时

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

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

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