课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,程序员能够掌握的软件开发架构模式也在逐渐增加,而今天我们就通过案例分析来了解一下,系统分层与分布式的区别都有哪些。
分层
将系统在横向维度上切分成几个部分,每个部门负责一部分相对简单并比较单一的职责,然后通过上层对下层的依赖和调度组成一个完整的系统
比如把电商系统分成:应用层,服务层,数据层。(具体分多少个层次根据自己的业务场景)
应用层:网站页,用户中心,商品中心,购物车,红包业务,活动中心等,负责具体业务和视图展示
服务层:订单服务,用户管理服务,红包服务,商品服务等,为应用层提供服务支持
数据层:关系数据库,nosql数据库等,提供数据存储查询服务
分层架构是逻辑上的,在物理部署上可以部署在同一台物理机器上,但是随着网站业务的发展,必然需要对已经分层的模块分离部署,分别部署在不同的服务器上,使网站可以支撑更多用户访问
-
分割
在纵向方面对业务进行切分,将一块相对复杂的业务分割成不同的模块单元
包装成高内聚低耦合的模块不仅有助于软件的开发维护,也便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展
比如用户中心可以分割成:账户信息模块,订单模块,充值模块,提现模块,优惠券模块等
-
分布式
分布式应用和服务,将分层或者分割后的业务分布式部署,独立的应用服务器,数据库,缓存服务器
当业务达到一定用户量的时候,再进行服务器均衡负载,数据库,缓存主从集群
分布式静态资源,比如:静态资源上传cdn
分布式计算,比如:使用hadoop进行大数据的分布式计算
分布式数据和存储,比如:各分布节点根据哈希算法或其他算法分散存储数据
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。