深入了解微服务:概念、优势、挑战与应用场景
1. 微服务概述
微服务是一种软件模块化的新方法。长期以来,为了便于软件的实现、理解和进一步开发,大型系统会被拆分为小模块,但微服务的独特之处在于使用作为独立进程运行的模块。这一方法基于 UNIX 哲学,主要体现在以下三个方面:
- 一个程序应只完成一项任务,且要出色完成。
- 程序之间应能够协同工作。
- 使用通用接口,在 UNIX 中由文本流提供。
微服务的初步定义可参考以下标准:
- 微服务是一种模块化概念,旨在将大型软件系统拆分为更小部分,影响软件系统的组织和开发。
- 微服务可相互独立部署,对一个微服务的更改可独立于其他微服务投入生产。
- 微服务可采用不同技术实现,对编程语言和平台无限制。
- 微服务拥有自己的数据存储,如私有数据库或共享数据库中的独立模式。
- 微服务可自带支持服务,如搜索引擎或特定数据库,同时存在一个通用平台,如虚拟机。
- 微服务是自包含的进程或虚拟机,以携带支持服务。
- 微服务需通过网络通信,使用支持松耦合的协议,如 REST 或消息传递。
微服务与部署单体应用相反。部署单体应用是一个只能整体部署的大型软件系统,需完整通过持续交付管道的所有阶段,如开发、测试和发布。由于其规模大,这些过程比小型系统耗时更长,降低了灵活性并增加了流程成本。虽然内部可能有模块化结构,但所有模块必须同时投入生产。
2. 为何选择微服务
微服务带来了诸多重要优势,具体如下:
|优势|描述|
| ---- | ---- |
|强模块化|传统软件组件构建的系
超级会员免费看
订阅专栏 解锁全文

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



