首页 > 其他分享 >Microservices 微服务

Microservices 微服务

时间:2022-09-19 12:00:36浏览次数:64  
标签:Microservices 服务 每个 缩放 更改 应用程序 体系结构

什么是微服务体系结构?

正如名称所示,微服务体系结构是一种将大型应用程序分解为一组较小的服务的方法。 每个服务都在自己的进程中运行,并使用 HTTP/HTTPS、WebSocket 或 AMQP 等协议与其他进程进行通信。 每个微服务在特定的上下文边界内实现特定的端到端域或业务功能,每个微服务都必须自主开发,并且可以独立部署。 最后,每个微服务应拥有其相关的域数据模型和域逻辑,并且可以基于不同的数据存储技术(SQL、NoSQL)和不同的编程语言。

微服务的一些主要特征包括:

  • 微服务具有规模小、独立和松散耦合的特点。
  • 每个微服务具有一个单独的代码库,可由小型开发团队进行管理。
  • 微服务是独立部署的。 团队可以更新现有微服务,而无需重新生成和重新部署整个应用程序。
  • 微服务负责将其数据或外部状态保存到各自的数据库中。 与整体体系结构不同,微服务不共享数据库。
  • 微服务使用定义完善的 API 相互通信。 每个服务的内部实现细节均对其他服务隐藏。
  • 支持 polyglot 编程。 例如,微服务无需共享相同的技术堆栈、库或框架。

为什么要在微服务体系结构中进行开发?

微服务的优点是其通常各自封装较为简单的客户需求功能,你可以独立进行横向扩展或缩减、测试、部署和管理。 微服务方法的一个重要优点是团队更倾向于以客户方案为导向,而非以技术为导向。 小型团队基于客户方案开发微服务,并使用他们想要使用的任何技术。

微服务提供了长期的灵活性。 通过允许基于许多独立的可部署服务(每个服务都具有粒度和自主生命周期)创建应用程序,微服务在复杂、大型和高度可缩放的系统中支持更好的可维护性。

微服务的另外一大优势是,可以独立横向扩展。 可以横向扩展特定的微服务,而无需将单个整体应用程序作为一个单位扩展。 这样便可单独缩放需要更多处理能力或网络带宽以支撑需求的功能区域,而不用横向扩展应用程序中不需要缩放的其他区域。 这意味着节省成本,因为所需硬件更少。

微服务方法允许对每个微服务进行灵活更改和快速迭代,因为可以更改复杂、大型和可缩放的应用程序特定的小区域。

构建基于微服务的细粒度应用程序使持续集成和持续交付实践可行。 它还加快了应用程序中新功能的交付。 应用程序的细粒度组合还支持以隔离方式运行和测试微服务,并在维护它们之间的清除协定的同时进行自主升级。 只要不更改接口或协定,就可以更改任何微服务的内部实现或添加新功能,而不会中断其他微服务。

 

标签:Microservices,服务,每个,缩放,更改,应用程序,体系结构
From: https://www.cnblogs.com/friend/p/16707270.html

相关文章