扫码阅读
手机扫码阅读
武功秘籍之微服务
287 2024-08-07
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:武功秘籍之微服务
文章来源:
码农周星星
扫码关注公众号
软件架构演进及微服务概述
软件架构的发展可以分为三个阶段:单体架构、集群架构和微服务架构。类似于一家火锅店的发展,从小规模的单店面到分工明确的连锁店面,软件架构的演进旨在应对业务增长和复杂性的挑战。
单体架构
单体架构是软件系统的初始阶段,所有服务都部署在同一台主机上。它的优点在于架构简单,易于开发、部署、维护和测试。然而,它的技术选型单一,耦合性高,系统的可靠性和扩展性较差,维护困难。
集群架构
当单体架构无法支撑增长的请求量时,进化为集群架构。在这个阶段,通过增加前端负载均衡和多节点,提升服务能力,支持更多请求量。这种架构相对易于扩展,但仍存在技术选型单一、耦合性高等问题。
微服务架构
微服务架构是系统业务功能日益增长和复杂时的解决方案。它将系统服务细分,例如用户服务、订单服务和内部管理服务。微服务优点包括低耦合、支持多技术栈、易于扩展和维护。不过,它也导致系统架构复杂,运维部署更为困难。
微服务的划分原则
微服务应遵循原则:高内聚低耦合、单一职责、高度自治、业务划分组织。组织结构需要根据服务架构调整,形成不同的业务组。微服务的划分粒度应根据团队和业务状况合理选择,前期可以选择粗粒度,随业务成熟再细化。
最终,没有绝对的“最佳”架构解决方案,只有最适合当前情况的解决方案。
想要了解更多内容?
查看原文:武功秘籍之微服务
文章来源:
码农周星星
扫码关注公众号
码农周星星的其他文章
应该如何度过人生的每个低谷时期-学生时代
古人云:三十年河东,三十年河西,对于人生这一次旅途中,难免有各种各样的低谷期,出现在不同的时期,那出现了这些低谷期应该怎么办呢?
k8s + spring boot + Eureka如何平滑上下线服务
上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k8s环境下有一些办法也可以解决这个平滑过度问题,为了解决这个问题,研究了一下目前我这边服务上k8s平滑过度的方案,分享给大家
突然委派你去一个陌生的城市负责项目,应该怎么办?
想必各位做项目的小伙伴,经常会接受到一些委派的任务,比如说突然安排你去一个不熟悉的城市,支持本地团队,推动项目进展,负责项目管理相关内容。但是对于一些缺少项目经验的小伙伴来说,在没有领导明确目标要求的情况下,就会变更很迷茫,缺少动力和方向。
观察者模式-什么场景可以使用
在什么场景下我们可以使用观察者模式呢?有什么优缺点呢?
开源项目ZXX-CAS系统从零到一|第五篇:OAuth2.0协议与对应接口设计
OAuth2.0协议的定义对我们设计ZXX-CAS至关重要,目前主流的微信、QQ、微博等三方登录系统都是遵循该协议,这里简单介绍一下该协议,应该注意的地方以及需要开发设计的接口有哪些?
加入社区微信群
与行业大咖零距离交流学习
SAFe6.0与CMMI3.0映射
白皮书上线
白皮书上线