Latest posts by 折月煮酒 (see all)
- 轻量级网站评论系统Commento安装教程 - 2024年8月25日
- CMS超级播放器artplayer、dplayer跳过片头片尾源码 - 2024年8月19日
- Google Adsense 申请记录 - 2024年8月14日
最开始开发项目的时候,站长都是采用的单体应用来实现的,前后端都统一放在一个项目文件里,没有进行分布式部署,数据库同样存放在了项目文件夹下。一是这样真的非常放便,不需要再配置分布式的环境端口及其他配置文件,部署比较容易。但是站长在之前有个一次重大的失误,在服务器web项目下删除冗余日志文件时不小心把数据库文件夹给删除了,由于没有备份最新的数据,导致我的数据丢失了一大半。于是痛心疾首的将数据库和主体前后端程序分布式部署在了不同的服务器上,同时定期备份数据。在此提醒广大开发者定期备份文件非常重要呀!同时通过简单的学习了解了一下分布式部署的相关知识,整理一下。
优点>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 1、易于开发:开发的方式简单,方便运行也容易调试。
- 2、易于测试。
- 3、易于部署。
缺点>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 1、项目过于臃肿,维护成本大,出现bug难定位。
- 2、资源无法隔离:共享一个数据库,或者一块内存。如果一个功能模块突然访问量过大,可能影响整个系统的性能。
- 3、无法灵活扩展:单体系统也可以集群部署,但是不够灵活,我明明只是订单系统遇到了瓶颈,只需要将订单模块水平扩展就行,但现在要将整个系统水平扩展。不灵活!
- 4、交付周期长:所有功能得一起上线,一起构建,一起部署。任何一个环节出错,都可能影响交付。那分布式的优点自然就和单体架构就对立了
再谈谈分布式架构的缺点:
- 1、性能,分布式系统是跨进程,跨网络的,性能很收网络延迟和带宽的影响。
- 2、可靠性:由于高度依赖网络状况,任何一次远程调用都可以失败。随着服务的增多,还会出现更多的潜在故障点。
- 3、异步:引入各种中间件,异步通信大大增加了功能实现的复杂度。
- 4、数据一致性:分布式系统必然会有分布式事务的出现,这时对数据的一致性,需要在C(一致性)A(可用性)P(分区容错性)中做出选择。
- 5、运维成本:一个系统拆成了多个服务,每个服务都得配置,部署,监控,日志处理。
原文链接:https://www.mrgaocloud.com/?p=1460,转载请注明出处。
评论0