微服务(Microservices)是一种软件架构风格,它主张将单一的应用程序划分成一组小的服务,每个服务运行在其独立的进程中,服务与服务间采用轻量级通信机制(通常是基于HTTP的RESTfulAPI)。这些服务围绕业务能力组织,并能够通过自动化部署机制独立地进行部署。
1. 服务(Service):微服务架构中的基本构建块,每个服务都是一个独立的、可部署的软件单元,通常实现了一组特定的业务能力。
2. 业务能力(BusinessCapability):指的是组织或系统中完成特定任务或提供特定功能的部分,微服务的设计通常围绕业务能力进行。
3. 服务注册与发现(ServiceRegistrationandDiscovery):微服务实例在启动时向服务注册中心注册自己的信息(如地址、端口等),其他服务可以通过服务发现机制找到并与之通信。
4. API网关(APIGateway):作为所有客户端请求的单一入口点,API网关负责路由请求、身份验证、限流、监控等功能。
5. 服务治理(ServiceGovernance):对微服务进行管理和控制的机制,包括负载均衡、熔断、降级、限流等策略,以确保系统的稳定性和可靠性。
6. 配置中心(ConfigurationCenter):集中管理微服务配置信息的组件,支持配置的动态更新和版本管理。
7. 容器化(Containerization):使用容器(如Docker)来打包和部署微服务,以实现服务的轻量级、可移植性和隔离性。
8. 持续集成/持续部署(ContinuousIntegration/ContinuousDeployment,CI/CD):自动化构建、测试和部署微服务的流程,确保代码的快速迭代和高质量交付。
9. 微服务架构风格(MicroservicesArchitectureStyle):一种将应用程序构建为一组小型、自治服务的架构风格,每个服务都围绕业务能力进行组织。
10. 自治性(Autonomy):微服务架构中的一个关键特性,指服务具有独立的决策能力,可以独立地进行开发、部署和演化。
11. 去中心化数据管理(DecentralizedDataManagement):微服务架构中,每个服务通常拥有并管理自己的数据,而不是依赖一个集中的数据库。
12. 服务版本控制(ServiceVersioning):为了支持服务的平滑升级和向后兼容性,对微服务进行版本控制。
13. 服务契约(ServiceContract):定义了服务之间通信的接口和消息格式,是确保服务之间松耦合的关键。
14. 事件驱动架构(Event-DrivenArchitecture,EDA):微服务之间通过事件进行通信的一种架构模式,可以提高系统的灵活性和响应速度。