技术原理

微服务架构-学习、构建和部署微服务

成为一个认证的专业微服务架构

从我以前的博客,你一定已经对微服务架构有了基本的了解。但是,成为一个认证的专业微服务将需要不仅仅是基本的。在这个博客中,您将深入了解架构概念,并使用UBER案例研究来实现它们,您将了解以下内容:

微服务架构定义微服务架构的关键概念微服务架构优缺点-案例研究

您可以参考什么是微服务,要了解微服务的基本原理和好处,

只有给出微服务的定义才是公平的。

对微服务的定义

就这样,没有对微服务的正确定义,也就是微服务架构,但可以说它是一个由小型,执行不同操作的单独可部署服务。

微服务专注于可以实现为完全独立可部署服务的单个业务域,并在不同的技术堆栈上实现它们。

Differences Between Monolithic Architecture And Microservices - Microservice Architecture - Edureka

图1:单片服务和微服务之间的区别架构(Architecture)–微服务架构

请参阅上图,以了解单片架构和微服务架构之间的区别。为了更好地理解这两种架构之间的差异,您可以参考我以前的博客What Is Microservices

来让您更好地理解,在开始使用微服务构建自己的应用程序之前,让我告诉你一些微服务体系结构的关键概念,以及应用程序的功能。下面的

是讨论微服务时应遵循的一些指导原则。在作为开发人员设计微服务

时,当您决定构建一个应用程序时,请将域分开并清楚地说明这些功能。您设计的每个微服务应仅集中于应用程序的一个服务。确保应用程序的设计方式使每个服务都可以单独部署。确保微服务之间的通信是通过无状态服务器完成的。每个服务都可以进一步重构为更小的服务,拥有自己的微服务。”

“现在,您已经阅读了设计微服务时的基本指南,让我们了解微服务的体系结构。”

“微服务体系结构是如何工作的?”“一个典型的微服务架构(MSA)应该由以下组件组成:

客户端标识提供程序API网关消息格式数据库静态内容管理服务发现

参考下图。

Architecture Of Microservices - Microservice Architecture - Edureka

图2:微服务架构-微服务架构

我知道架构看起来有点复杂,但让我为您简化它。

1。客户机

体系结构从不同类型的客户机开始,这些客户机来自尝试执行各种管理功能(如搜索、构建、配置等)的不同设备。

2。身份提供者

这些来自客户机的请求随后传递给身份提供者,身份提供者对客户机的请求进行身份验证,并将请求传递到API网关。然后,请求通过定义良好的API网关

3与内部服务通信。API网关

由于客户端不直接调用服务,API网关充当客户端将请求转发到相应微服务的入口点。

使用API网关的优点包括:

所有服务都可以在客户端不知情的情况下更新。服务还可以使用消息传递协议不是网络友好的。API网关在接收到客户端的请求后,可以执行提供安全性、负载均衡等跨领域功能。

,内部架构由微服务组成,微服务通过消息相互通信来处理客户端请求。

4。消息格式

它们通过两种消息进行通信:

同步消息:在客户端等待服务响应的情况下,微服务通常倾向于使用REST(表示状态传输),因为它依赖于无状态的客户端服务器和HTTP协议。由于该协议是一个分布式环境,因此每个功能都用一个资源来表示,以执行操作异步消息:在客户端不等待服务响应的情况下,微服务通常倾向于使用诸如AMQP、STOMP、MQTT等协议。由于定义了消息的性质,并且这些消息在实现之间必须是可互操作的,因此在这种类型的通信中使用这些协议。”

“下一个你可能会想到的问题是,使用微服务的应用程序如何处理它们的数据?”

“”

“5。数据处理

好了,每个微服务都拥有一个私有数据库来捕获它们的数据并实现各自的业务功能,而且微服务的数据库只通过它们的服务API进行更新。请参阅下图:

Representation Of Databases Within Each Microservice - Microservice Architecture - Edureka494-02图3:处理数据的微服务的表示——微服务体系结构

微服务提供的服务被转发到支持不同技术堆栈的进程间通信的任何远程服务。

6。静态内容

在微服务内部通信后,它们将静态内容部署到基于云的存储服务中,该存储服务可以通过内容交付网络(cdn)直接将静态内容交付给客户端。

除了上述组件外,在典型的微服务体系结构中还出现了一些其他组件:

7。管理

此组件负责平衡节点上的服务并识别故障。

8。服务发现

作为微服务的指南,在维护节点所在的服务列表时,可以找到它们之间的通信路径。

订阅我们的youtube频道以获取新的更新….!”

“现在,让我们看看这个架构的优缺点,以便更好地了解何时使用这个架构。

微服务架构

的优缺点见下表。

微服务架构的优缺点微服务架构使用不同技术的自由度增加故障排除挑战每个微服务侧重于单个业务功能由于远程呼叫而增加延迟支持单个可部署单元配置和其他操作的工作量增加允许频繁的软件发布难以维护事务安全确保每个服务的安全难以跨不同的服务边界多个服务是并行开发和部署的难以在服务

之间移动的代码通过对比UBER以前的架构和现在的架构,让我们对微服务有更多的了解。

UBER案例研究

UBER以前的架构

和许多初创公司一样,UBER的旅程始于一个为单一城市的单一产品而建造的整体式建筑。当时,拥有一个代码库似乎已经被清理干净,并解决了UBER的核心业务问题。然而,随着UBER开始在全球范围内扩张,它们在可扩展性和持续集成方面面临着各种各样的问题。

Monolithic Architecture Of UBER - Microservice Architecture - Edureka

图4:UBER的整体架构-微服务架构

上图描述了UBER以前的架构。

是一个REST API,乘客和驱动程序可以通过它连接。三个不同的适配器与其中的API一起使用,以执行诸如计费、付款、发送我们在预订出租车时看到的电子邮件/消息等操作。一个MySQL数据库来存储他们的所有数据。”因此,如果你注意到这里所有的功能,如乘客管理,计费,通知功能,支付,行程管理和司机管理都是在一个单一的框架内组成的。

问题陈述

而优步开始在世界范围内扩展这种框架带来了各种挑战。以下是一些突出的挑战

所有的功能都必须重新构建、部署和一次又一次的测试来更新单个功能。在单个存储库中修复错误变得非常困难,因为开发人员必须一次又一次地更改代码。在全球范围内同时推出新功能时,要同时扩展这些功能是相当困难的。”

“解决方案”

为了避免此类问题,UBER决定改变其架构,效仿亚马逊、Netflix、Twitter等其他高速增长的公司。因此,UBER决定将其整体架构分解为多个代码基,形成一个微服务架构。

参考下图查看UBER的微服务架构。

Microservice Architecture Of UBER - Microservice Architecture - Edureka

图5:UBER的微服务架构-微服务架构

的主要变化是我们在这里看到的是API网关的介绍,通过它所有的司机和乘客都可以连接起来。从API网关,所有的内部点都连接起来,如乘客管理、司机管理、行程管理等。这些单元是单独的可部署单元,执行单独的功能。例如:如果要更改计费微服务中的任何内容,则只需部署计费微服务,而不必部署其他服务。所有的特征现在都被单独缩放了即。删除了每个功能之间的相互依赖关系。例如,我们都知道寻找出租车的人数比实际预订出租车和付款的人数要多。这让我们推断,乘客管理微服务上的进程数量超过了支付上的进程数量。”

“通过这种方式,UBER的架构从单一到微服务的转变中受益匪浅。”

我希望你喜欢阅读这篇关于微服务架构的文章。我将提出更多的博客,其中也将包含动手操作。

有兴趣了解更多关于微服务?如果您想学习微服务并构建自己的应用程序,请立即注册

,然后查看我们的微服务体系结构培训,该培训包括讲师指导的现场培训和实际项目体验。该培训将帮助您深入了解微服务,并帮助您掌握该主题。

有问题要问我们吗?请在“微服务体系结构”的评论部分提到它,我会给你回复的

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
人工智能大会 投稿者
我还没有学会写个人说明!
最近文章
  • * 没有更多文章了
  • 热门搜索

    分类目录