微服务入门指南
1. 微服务概述
微服务是一种服务,它具有非常狭窄的单一功能,并通过远程 API 向系统的其他部分公开。以仓库管理系统为例,其功能可分解为以下几个方面:
- 接收仓库到货
- 确定新货物的存储位置
- 计算仓库内货物放置到正确存储单元的放置路线
- 将放置路线分配给仓库员工
- 接收订单
- 计算一组订单在仓库内的拣货路线
- 将拣货路线分配给仓库员工
以“接收仓库到货”这一功能为例,实现为一个名为“Receive Stock”的微服务,其工作流程如下:
1. 通过 HTTP 接收并记录新货物的请求,该请求可能来自另一个微服务或仓库管理员用于登记货物到货的网页。“Receive Stock”微服务需将新货物信息记录到自己的数据存储中。
2. “Receive Stock”微服务发送响应,确认货物已接收。
每个微服务具有以下特点:
- 运行在独立的进程中
- 可独立于其他微服务进行部署
- 拥有自己专用的数据存储
- 与其他微服务协作以完成自身操作
微服务之间的通信方式多样,常见的是通过 HTTP 进行通信,且不要求使用相同的编程语言或运行在相同的平台上。
2. 微服务架构
微服务不仅指单个服务,还可描述由多个微服务组成的整个系统的架构风格。它是一种轻量级的面向服务架构(SOA),其中的服务专注于做好一件事。采用微服务架构的系统是一个分布式系统,包含大量协作的微服务。
微服务架构在构建和维护复杂的服务器端软件系统方面越来越受欢迎,因为它相比传统的面向服务方