服务器架构有哪些方式?—Vecloud微云
传统单一模式
一个项目系统包含所有的功能,如登录,注册,验证,前台展示,后台管理等,所有的功能在一个项目中实现。
缺点:
不便于维护,系统的每个功能耦合性太高,如果某一个功能出现bug,整个项目都得下线维护修复,会影响整个功能模块;
横向拓展性不好,特别是目前互联网项目,需求变化很高,代码都不能写死,就是为了便于后面需求变化,增加新功能,而因为每个功能之间耦合性太高就导致修改一处,可能导致需要修改很多处,功能的修改或增加麻烦;
因为整个项目放在一个服务器中,存在并发量问题,如果用户多了,并发问题亟待解决.于是变出现了下面的模式:增加集群的方式。
集群模式
集群模式为了解决访问量大的情况,把项目放到多个服务器上,通过添加服务器的方式来缓解用户访问大的压力。
这中集群模式在一定程度上能够增加并发量,但也面临问题。
缺点:
重复登录问题:这个模式添加集群,就得使用负载均衡服务器(通常使用nginx作为服务器),如果一个用户第一次登录访问被分配到了1号服务器,服务器存储了该用户的信息(session域中),但是用户下次的请求就不一定再被分配到这个服务器了,假如这次被分配到了2号服务器,则该服务中没有该用户的session信息,则会要求该用户重新登录,用户体验不好;
每个功能之间的耦合度依然很高,不便于新增或维护功能。于是便有了下面的架构模式:分布式。
分布式架构
分布式架构比之传统的单一模式的改变就是分布式架构把整个系统拆分为各个小的功能模块,每一个又独立成为一个系统,只是这个系统只提供单独的功能,而每个系统又分别放到不同的服务器中,这样形成了一个多个服务器架构的网,每个功能相互协作。
优点:
解决了功能耦合度高问题,每个模块相互独立,如果某一个功能需要修复,只需修改这一个就好,不影响整个系统运行.而且如果需要添加新功能,非常容易切入到系统中来,且不改动其他的模块;
真正能够解决并发问题,因为每个功能模块拆分开了,如网站搞促销活动,商品浏览页面展示的访问压力大,可以有针对的添加集群,解决高并发问题,即可实现对每个节点(即每个独立的功能)添加集群。
缺点:
每个模块虽然独立,但是可能每个模块有一些通用的功能,而这些通用的功能在每个功能中都要写一遍,如何提高代码复用性,这是一个问题。
Vecloud是一家面向企业提供云交换网络服务为核心业务的技术创新企业,公司有24*7专业运维团队支撑,可以快速定位客户使用中遇到的问题,最快解决问题。