NGINX通过从代码到客户的多云应用服务,弥合了NetOps(网络开发运营)和DevOps(开发运营)之间的鸿沟。

官方: https://www.nginx.com/

中文文档: https://www.nginx.cn/doc/

Nginx从一开始就参与了微型服务运动。Nginx的轻量级、高性能和灵活性非常适合于微服务;

Nginx专业服务公司正在开发Nginx微服务参考体系结构(MRA)--一组您可以用来创建自己的微服务应用程序的模型。

为了反映这一点,MRA的实现使用了三种不同的网络模型,所有这些模型都使用Nginx或Nginx Plus。它们从相对简单到功能丰富、更复杂:

  • 代理模型-适用于将Nginx Plus作为控制器或API网关用于微服务应用程序。这个模型建立在DockerCloud之上。
  • 路由器网格模型-采取更有力的联网办法,在每台主机上配备一个负载均衡器,并管理各系统之间的连接。此模型类似于Deis 1.0.
  • 织物模型-MRA的皇冠宝石,织物模型的特点是Nginx Plus在每个集装箱,处理所有进出交通。它适用于高负载系统,并在所有级别支持SSL/TLS,Nginx Plus为所有微服务提供减少延迟、持久SSL/TLS连接、服务发现和断路器模式的功能。

在MRA中, Nginx负责反向代理各个微服务的api相互通信;其中N+为Nginx plus;

1. Router Mesh Model;

nginx 多个微服务 nginx和微服务_nginx 多个微服务

DEIS工作流使用类似于路由器网格模型的方法在服务之间路由通信,在每个主机上的容器中运行Nginx实例。当新的应用实例被旋转时,流程从蚀刻服务注册表并将其加载到Nginx中。Nginx Plus也可以在这种模式下工作,使用不同的位置及其相关的上游。

2. 可选SSL/TLS的Fabric模型;

Nginx的织物模型为生活带来了一些最令人兴奋的微服务承诺,包括高性能、负载平衡方面的灵活性以及无处不在的SSL/TLS,直到单独的微服务级别。Fabric模型适用于安全应用程序和可扩展到非常大的应用程序。

在Fabric模型中,Nginx Plus部署在每个容器中,并成为所有进出容器的HTTP通信量的代理。应用程序为所有服务连接与本地主机位置对话,并依赖Nginx Plus进行服务发现、负载平衡和健康检查。

nginx 多个微服务 nginx和微服务_nginx 多个微服务_02

由于Nginx Plus中强大的HTTP处理功能,我们可以使用Keeplives来维护到微服务的有状态连接,从而减少延迟并提高性能。在使用SSL/TLS保护微服务之间的通信时,这是一个特别有价值的特性。

最后,我们使用Nginx Plus的主动健康检查来管理到健康实例的通信量,本质上是在断路器型式免费的。