接上篇,了解了单体与单点的区别,那么讲下优缺点
集中式架构
单体架构也称集中式架构
优点:
- 开发成本低
因为单体不存在远程调用的情况,那么也不会存在服务注册和发现等等一系列都不存在。如果出现问题,那么很容易发现,也不需要过度的服务治理
- 性能高
刚才讲了, 没有远程调用当然性能高了,减少了网络调用
- 运维成本低
组件少,部署非常简单
- 架构简单
按照上篇提供的架构图来看,架构还是比较简单的
缺点:
- 隔离性差
业务业务之间耦合性强,某一个业务出现问题,整个系统都会受牵连
- 协同效率底
所有人员都在这个应用中开发,效率肯定低了。每次发布,需要协同所有人员同意发布才可以发布。
说到这里,如果公司规范做得好,那么单体架构是个非常不错的选择。如果对大型项目来说,业务多,人更多,会带来非常多的管理成本、技术成本、人力成本。所以当发现业务发展速度过快,需要快速调整架构。当然调整架构也不是几个架构师或几个经理说了算,需要整个公司的力量,因为拆分后需要基础平台能力一定要跟上,否则拆分完还不如不拆分。我经历过为了跟风以拆分为拆分,这还不算啥,经过人员变动,被多个经理拆分变成四不像,难以收手。
分布式架构
分体架构需要各种集群来支持保障可用性,当然需要可靠的基础平台做基础支撑。
优点:
- 迭代快
每个业务产品迭代自己,相互不干扰
- 稳定性高
需要成熟的基础平台做基础支持,保障服务的稳定性
- 故障范围小
因为每个产品线都有自己的负责人,当出现故障时不会影响其它产品线
- 易扩展
每个产品线都按自己的产品扩展,互相发展互不影响。
缺点:
- 开发成本高
需要各种中间件,每个中间件都需要人员维护。还要根据业务需要不断演进
- 基础设施要求高
域名解析、网络、防火墙、网关、各种应用中间件、物理机等等这些基础设施都需要专业人员维护
- 维护复杂
需要每个产品每个系统都需要一个负责人负责。
- 响应慢
因为多个系统提供服务,一个请求需要经过多个服务,每个调用服务都要经过网络,耗时高当然响应慢了。如果加上缓存响应会减少,但成本也上升去了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。