0分享至
用扫码二维码
分享至好友和朋友圈
分层架构是合乎逻辑的。在物理部署方面,三层架构可以部署在同一台物理机上,但是随着网站业务的发展,要对已分层的模块进行分离部署,也就是三层架构是单独部署的。在不同的服务器上,网站拥有更多的计算资源来应对越来越多的用户访问。
1、分层
分层是企业应用系统中最常见的架构模式。它将系统在横向维度上划分为若干个部分,每个部分负责一个相对简单且相对单一的职责,然后由上层对下层的依赖和调度组成一个完整的系统。
在网站的分层架构中,常用三层,分别是应用层、服务层、数据层。应用层专门负责业务和视图的展示;服务层为应用层提供服务支持;数据库提供数据存储和访问服务,例如数据库、缓存、文件和搜索引擎。
分层架构是合乎逻辑的。在物理部署方面,三层架构可以部署在同一台物理机上,但是随着网站业务的发展,要对已分层的模块进行分离部署,也就是三层架构是单独部署的。在不同的服务器上,网站拥有更多的计算资源来应对越来越多的用户访问。
因此,虽然分层架构模式的初衷是为软件规划清晰的逻辑结构以方便开发和维护,但在网站的开发过程中,分层结构对于网站支撑高并发和分布式方向。
2、冗余
网站需要7×24小时连续运行,所以必须有相应的冗余机制,防止机器宕机时无法访问,而冗余可以通过部署至少两台服务器组成集群实现高服务可用性。除了定期备份,数据库还需要实现冷热备份。甚至灾难恢复数据中心也可以部署在世界各地。
3、分离
如果分层是水平划分软件,那么分离是垂直划分软件。
网站越大越复杂,要服务和要处理的数据种类也越多。将这些不同的功能和服务分离出来,封装成高内聚、低耦合的模块化单元,不仅有利于软件的开发和维护,也有利于软件的开发和维护。方便了不同模块的分布式部署,提高了网站的并发处理能力和功能扩展能力。
大站点的分离粒度可能很小。比如在应用层,将购物、论坛、搜索、广告等不同业务分离到不同的应用中,由对立的团队负责,部署在不同的服务器上。
4、异步
使用异步架构,业务之间的消息不是同步调用的,是将一个业务操作分成多个阶段,每个阶段通过数据共享的方式异步执行协同。
具体实现可以在单台服务器上多线程共享内存处理;在分布式系统中,异步可以通过分布式消息队列来实现。
异步架构的一个典型例子是生产者-消费者方法,两者之间没有直接调用。
5、分布式
对于大型网站来说,分层和分离的主要目的之一是为了方便划分的模块的分布式部署,即将不同的模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着可以使用更多的计算机来完成相同的工作。计算机越多,CPU、内存和存储资源就越多,处理的并发访问量和数据量就越大,那么可以提供的用户也就越多。服务。
在网站应用中,有几种常用的分布式解决方案。
分布式应用和服务,分布式静态资源,分布式数据和存储,分布式计算。
6、安全
网站在安全架构方面有多种模式:通过密码和手机验证码进行认证;网络通信需要加密才能登录和交易;为了防止机器人程序滥用资源,需要使用验证码进行识别;常见的XSS攻击,SQL注入需要编码转换;垃圾邮件需要过滤等。
7、自动化
具体来说,有自动化发布流程、自动化代码管理、自动化测试、自动化安全检测、自动化部署、自动化监控、自动化告警、自动化故障转移、自动化故障转移恢复。
8、集群
对于用户访问集中式模块,要将独立部署的服务器集群化,也就是多台服务器部署同一个应用程序形成一个集群,通过负载均衡设备对外提供服务。
服务器集群可以为同一个服务提供更多的并发支持,所以当有更多用户访问时,只需要在集群中增加新机器;另外,当其中一台服务器发生故障时,可以将请求通过负载均衡的故障转移机制转移到集群中的其他服务器,这样可以提高系统的可用性。
9、缓存
缓存的目的是减少服务器的计算量,将数据直接返回给用户。在当今的软件设计中,缓存已经无处不在。具体实现包括CDN、反向代理、本地缓存、分布式缓存等。
使用缓存有两个条件:
数据热点访问不均衡,即一些经常访问的数据需要放入缓存;
数据在一定时期内有效,但很快就过期了,否则会因为数据过期而被脏读,影响数据的正确性。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.
/阅读下一篇/ 返回网易首页 下载网易新闻客户端