理解微服务:从单体架构到微服务架构的转变
计算机编程诞生至今不足 100 年,我们一直在不断改进软件的创建方式。微服务的出现彻底改变了软件产品,提高了服务的可读性和可扩展性,使组织能够加快发布周期,更好地响应客户需求。
1. 面向服务架构的起源
在探讨微服务之前,了解面向服务架构(SOA)是很有必要的。SOA 鼓励使用可重用的软件组件,这些组件提供定义明确的接口,以便在新的场景中复用。虽然 SOA 明确指出服务应该是独立的进程,但它没有规定这些进程之间的交互协议,并且在应用程序的部署和组织方面也比较模糊。
SOA 服务可以通过多种方式进行通信,如进程间通信(IPC)、共享内存、间接消息队列或远程过程调用(RPC)。通常认为,微服务是 SOA 的一种特殊形式,它更关注组织的需求、安全性以及软件的扩展和分离。
2. 单体架构方法
在单体架构中,服务的所有内容都集中在一个地方,包括 API、数据库和所有相关工具,它们都作为一个代码库的一部分进行管理。以一个简单的酒店预订网站为例,除了静态 HTML 内容外,该网站还提供预订功能,用户可以搜索并使用信用卡预订全球任何城市的酒店。
当用户在酒店网站上进行搜索时,应用程序会执行以下步骤:
1. 对酒店数据库运行几个 SQL 查询。
2. 向合作伙伴的服务发送 HTTP 请求,以添加更多酒店到列表中。
3. 将结果发送到网页中嵌入的 JavaScript,以便为用户呈现信息。
当用户选择预订酒店时,应用程序会执行以下步骤:
1. 如果需要,在数据库中创建客户记录,并要求客户进行身份验证。
2. 通过与银行的 We
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



