微服务架构涉及将复杂的应用程序分解为小型的独立应用程序,以便每个应用程序都可以独立扩展和维护。微服务架构带来了诸多好处,难怪 IT 领域的每个人都转向这种新架构!
微服务架构的核心是反向代理的概念。反向代理在引导不同微服务之间的流量以及在微服务的多个实例之间分配工作负载方面发挥着关键作用。如果没有反向代理,我们今天所理解的微服务架构中复杂的交互网络和负载分配将根本不可行!
让我们深入了解反向代理在微服务设置中的作用!
代理是位于客户端计算机和互联网之间的服务器。来自客户端计算机的任何流量都会通过代理服务器。对于互联网的其余部分,看起来好像代理服务器正在发起请求。
使用代理服务器的原因有多种。其中一些如下 -
反向代理是位于互联网和后端服务器之间的服务器。任何发往服务器的流量都必须通过反向代理。对于互联网的其余部分,看起来好像反向代理正在处理请求。
一般来说,使用反向代理有几个好处。您可能会发现这里列出了一些。
反向代理的概念为微服务架构注入了活力,使客户端能够通过确定要访问的服务器来导航微服务的动态环境。如果没有这个重要组件,客户将无法有效地驾驭微服务架构的复杂环境。
微服务架构中的服务根据负载进行扩展和缩减。这意味着服务的副本可能在应用程序的生命周期内随时出现和消失。反向代理检测服务的服务器并有效地将客户端的流量引导至这些服务器。
由于服务可能有多个副本正在运行,因此客户端的请求在可用服务器之间正确分布就变得很重要。负载平衡只是这里使用的revere proxy 的另一个功能。反向代理巧妙地在服务的可用副本之间分配负载。
由于进入我们应用程序的任何请求都会通过反向代理,因此它是监视请求和执行日志记录的好地方。它有助于获得有关系统中存在的服务数量的重要见解。
在微服务设置中,反向代理还用于路由集群的内部流量。这对于服务到服务通信的情况特别有用。
缓存是使用反向代理带来的普遍优势。代理服务器可以返回类似查询的缓存结果,从而缩短客户端的响应时间。
单个客户端的请求可能需要来自后端多个服务的响应聚合。这种聚合可以由反向代理执行,为客户端留下一个干净的端点可供使用!
反向代理可以用于不同的配置。这些配置通常规定了做出路由决策的 OSI 层。通常有两种著名的代理 - (1) 第 4 层代理和 (2) 第 7 层代理。当我们向上移动层时,我们从互联网数据包中解码更多可用于路由决策的信息。
OSI 模型中的第 4 层是传输层。从应用程序开发人员的角度来看,第 4 层可用于路由决策的内容包括:
因此,第 4 层代理只能根据服务器和客户端的 IP 和端口做出路由决策。它无法查看请求的内容,因此只能做出有限的路由决策。
为什么使用第 4 层代理有几个原因 -
第 4 层代理也有几个缺点 -
OSI 模型中的第 7 层是应用层。从应用程序开发人员的角度来看,第 7 层可用于路由决策的内容包括:
由于第 7 层提供了更多用于决策的内容,因此可以执行更智能的路由。
以下是人们使用第 7 层代理的一些原因 -
以下是使用第 7 层代理的一些缺点 -
反向代理无疑是微服务架构中的重要组成部分之一。没有它,微服务架构的真正好处永远无法完整实现。
至此,我们的博客就结束了!我希望你今天学到了一些新东西。