使用 API 网关的微服务 Ocelot 与 Nginx

Mel*_*taş 9 nginx api-gateway ocelot

我有一个基于 .net core 的微服务架构。我选择ocelot作为api网关。我的前端应用程序基于 vue js 并托管在 nginx 容器上。在今天的讨论中,我了解到nginx已经可以用作网关。有人建议“你应该使用nginx作为网关,因为你已经用于服务前端,nginx也可以部署为网关”我在互联网上搜索到比较这两个网关(我知道 nginx 的主要目的不是网关),但找不到任何关于它们的优缺点的信息,例如性能、可扩展性可用性等......

使用这两种技术的人可以与我分享关于我应该选择哪一种技术的信息吗?

Ami*_*mit 9

Ocelot 是.NET API 网关,但与云无关。它具有此处文章中提到的以下功能。它是一个免费的简单 Nuget 包,安装简单,没有太高级的功能或性能要求,但它总是在 .net 环境中完美地完成工作,并且还提供了一些功能。它是轻量级、快速、可扩展的,除了所有网关功能之外还提供路由和身份验证。在 Azure 上,Azure API 管理提供这些功能以及许多更高级的网关功能。

\n

NGinx 有开源版本和增强版本。

\n
\n

NGINX 是一款高性能、可扩展、安全且可靠的 Web 服务器和反向代理。NGINX 支持所有主要的 Web 加速\n技术来管理 HTTP 连接和流量。多年来,负载平衡、SSL 终止、连接和请求监管、静态内容卸载和内容缓存等 NGINX 功能已帮助 NGINX 用户快速高效地构建可靠、快速的网站。

\n
\n

NGINX 还可以充当安全应用程序网关,提供许多专门的内置\xe2\x80\x91in 接口,将流量从用户传递到应用程序。因此,正如您所见,NGinx 不仅仅是一个 API 网关。通过服务器,您可以集成许多其他服务,例如流量分配、策略、监控、警报、通知、自定义配置等。对于企业级应用程序,Ocelot 的性能或可配置性可能有限。

\n

Nginx 是一个与 Ocelot 不同的软件。NGinx 上的 Kong 是更流行的 API 管理网关软件,并非特定于 .NET

\n

如果您的公司已经在使用它,并且已经可以部署它,那么您应该继续使用 Nginx。

\n

Ocelot、Kong、Azure API 管理、Nginx

\n

一般情况下,Ocelot 可能会出现比 Nginx 更好的软件。但 Nginx 是一个成熟的软件。几个原因:您的公司已经拥有 Nginx plus 的许可证,为什么还要使用其他软件进行 API 管理。b. Nginx 可配置为高性能,而 ocelot 则不然。如果你使用的线程池是nginx,性能可以调优。 十个 Nginx 性能调优技巧。。在 Ocelot 中你几乎不能做这样的事情。它有自己的一系列网关未解决的问题。NGinx plus 用户将获得培训以及团队支持。Nginx 将成为您所有应用程序的一个 API 网关(技术独立)。Ocelot 依赖于技术。考虑到优点和缺点,您的公司可能已经拥有 Nginx plus 许可证和适用于多个应用程序的通用 API,这就是他们可能会推动它的原因。

\n