开发微服务的九个最佳实践( 三 )


部署微服务的一些最常见和流行的模式是:

  • 每个主机多个服务实例
  • 每个容器的服务实例
  • 每个主机单个服务实例
  • 每个虚拟机的服务实例
8. 编排微服务微服务的编排是在流程和工具方面取得成功的最有影响力的因素之一 。您可以使用 Docker 在虚拟机上运行容器,但它无法提供与容器编排平台相同级别的弹性 。在尝试采用微服务架构时,这样的决定很可能会对您的正常运行时间产生负面影响 。
以下是一些经过验证的编排平台:
  • K8(Kubernetes)
  • AKS(Azure Kubernetes 服务)
  • ECS(亚马逊弹性容器服务)
  • Azure 容器应用程序
这些平台有助于管理容器配置和部署、负载平衡、扩展、网络通信问题等 。
9. 使用有效的监控系统微服务架构可帮助您对数千个模块化服务进行巨大扩展,并提供提高速度和有组织的监控方法的潜力 。然而,重要的是要确保检查所有微服务并定期检查它们是否按预期运行以及是否有效地使用可用资源 。根据这些观察结果,如果未达到预期,您可以采取适当的措施 。
让我们分析一个示例情况 , 假设您应用了微服务架构模式,该模式不具备处理请求的能力,但它们仍在运行 。例如,如果数据库连接耗?。?嗫叵低秤Ω媚芄辉谑道?⑸?收鲜鄙?删??nbsp;, 并且请求应路由到工作服务实例 。
监控微服务并准确解释这些统计数据将帮助您改进决策并在需要时保持微服务可用 。
让我们看一下微服务监控工具的几个示例 。
  • AWS CloudWatch: 一种监控、可观察性和管理服务,可收集和可视化实时日志 , 并为 AWS、混合和本地应用程序及基础设施资源提供可操作的见解 。
  • Jaeger: 旨在监控和解决微服务环境中的复杂问题的软件 。
  • Datagod: 一个适用于云规模应用程序的可观察性、安全性和分析平台,使用基于 SaaS 的数据分析平台为数据库、服务和工具提供全面的解决方案 。
  • Graphite: 顾名思义 , 它是一种开源软件,可以监控数字时间序列数据并绘制图表,并提供对底层系统的深入洞察 。
  • Prometheus: 一个免费的开源软件工具,提供监控和修改解决方案 。
结论这就是这篇文章的内容 。我希望您觉得这篇文章很有用,并且您将遵循这些微服务的最佳实践,最终得到一个独立的、松散耦合的系统,以便获得该架构的好处 。

【开发微服务的九个最佳实践】


推荐阅读