本文概述
微服务架构是一种面向服务的架构。在微服务架构中, 存在大量的微服务。通过组合所有微服务, 它构建了一个大型服务。在微服务架构中, 所有服务都相互通信。
在微服务教程中, 我们将了解如何使用Spring Cloud实现微服务。我们将学习如何在微服务之间建立通信, 如何实现负载平衡, 微服务的放大和缩小。我们还将学习使用Spring Cloud Config Server集中微服务的配置。我们将使用Spring Cloud Sleuth和Zipkin实现Eureka Naming Server和分布式跟踪。我们将使用Zipkin创建容错微服务。
我们的微服务教程讨论了微服务架构的基本功能以及相关示例, 以便于理解。
什么是微服务
定义:根据Sam Newman的说法, “微服务是可以协同工作的小型服务。”
根据James Lewis和Martin Fowler的说法, “微服务架构风格是一种将单个应用程序开发为一组小型服务的方法。每个微服务都运行其流程并与轻量级机制进行通信。这些服务围绕业务功能构建, 并由以下人员独立开发:完全自动化的部署机制。”
这些服务的集中管理几乎没有, 可以用不同的编程语言编写并使用不同的数据存储技术。
要记住的要点
- 这些是REST公开的服务。
- 这些是精心挑选的小型可部署单位。
- 服务必须启用了云。
微服务定义了一种体系结构的方法, 该方法将应用程序划分为实现业务需求的松散耦合服务池。它紧邻面向服务的体系结构(SOA)。基于微服务的体系结构的最重要特征是, 它可以执行大型复杂应用程序的连续交付。
微服务有助于破坏应用程序并构建逻辑上独立的较小应用程序。例如, 我们可以在Amazon AWS的帮助下以最小的努力构建一个云应用程序。
在上图中, 每个微服务都有自己的业务层和数据库。如果我们更改一项微服务, 则不会影响其他服务。这些服务通过使用轻量级协议(例如HTTP或REST或消息传递协议)相互通信。
微服务原理
微服务有以下原则:
- 单一责任原则
- 围绕业务领域建模
- 隔离失败
- 基础设施自动化
- 独立部署
单一责任原则
单一责任原则指出, 程序中的类或模块应仅承担一项责任。任何微服务一次都不能承担多个责任。
围绕业务领域建模
微服务永远不会限制自己接受适当的技术堆栈或数据库。堆栈或数据库最适合解决业务目的。
孤立故障
大型应用程序几乎不受单个模块故障的影响。服务可能会随时失败。因此, 重要的是快速检测故障, 如果可能的话, 自动恢复故障。
基础设施自动化
基础架构自动化是脚本环境的过程。借助脚本环境, 我们可以将相同的配置应用于单个节点或数千个节点。也称为配置管理, 脚本化基础结构和系统配置管理。
独立部署
微服务与平台无关。这意味着我们可以独立设计和部署它们, 而不会影响其他服务。
听众
我们的微服务教程专为希望通过简单步骤学习微服务架构的软件专业人员和初学者而设计。本教程将为你提供有关微服务体系结构及其组件的深入知识, 例如RabbitMQ Server, Eureka Naming Server, Zuul API Gateway, Ribbon, Hystrix和Zipkin Server。完成本教程后, 你可以使用Spring Cloud开发微服务服务。
先决条件
在继续本教程之前, 你应该对Java, Spring和Spring Cloud Framework有基本的了解。因为我们将使用Spring Cloud开发微服务。
问题
我们向你保证, 微服务教程不会有任何问题。如果有任何错误, 请在联系表格中发布问题。
评论前必须登录!
注册