微服务技术
有许多工具和技术用于管理微服务架构。下面介绍微服务环境中常见的一些关键技术。
容器化
容器是微服务架构的关键部分。它们允许以可预测和高效的方式快速部署微服务应用程序。容器化工具有多种,从传统的 LXC Linux 容器到现在几乎无处不在的 Docker。容器是即用型应用程序,包含所需的所有库和其他信息,支持在几乎任何环境中一键部署。
协调
虽然可以在小型部署中手动管理容器,但跨多个云服务运行多个 docker 部署的组织将需要一种方法来自动化此过程。Kubernetes 等解决方案支持大规模自动化。开发人员可以使用一种称为 YAML 的人类可读数据序列化语言来定义其容器。
API 网关
每个微服务都通过 REST API 与其他微服务通信。当存在少量已知服务时,让这些服务直接通信非常简单。随着环境变得越来越复杂,服务之间直接通信的效率也会降低。API 网关和管理工具使开发人员能够更轻松地集成预构建的服务。网关接收请求并将其传递给位于它们后面的系统。如果需要更改有关底层服务的任何内容,则唯一需要更新的是网关。您的其他服务可以继续照常将请求传递到网关。
服务注册表
服务注册表是跟踪可用于接收所发请求的微服务的有效方法。服务注册表是服务、其实例及其位置的数据库。在某些模型中,服务注册表可能还负责使用每个服务的 API 调用运行状况检查,以确认它们当前能够处理请求。一些容器管理系统(如 Kubernetes)具有自己的内置服务注册表,以便更轻松地进行服务发现和管理。
断路器
断路器用于监视微服务体系结构中服务的运行状况。当采用断路器时,微服务可以正常相互通信,并且断路器会对所有错误进行计数。如果在给定时间段内检测到的错误数达到某个阈值,断路器将激活。如果未达到此数字,断路器会将计数设置回零并继续监控。这有助于确保微服务可靠运行,并考虑任何可接受的超时或其他错误。