如何创建 API 网关切换到微服务架构

Posted

技术标签:

【中文标题】如何创建 API 网关切换到微服务架构【英文标题】:How to create an API Gataway switching to a microservice architecture 【发布时间】:2019-04-05 14:23:49 【问题描述】:

我们的团队正在尝试将单体式 Web 应用程序(电子商务)转换为微服务架构。为了做到这一点,我们确定了第一个可以隔离到单个微服务中的小型企业功能。一旦我们开始研究它,我们就需要一个 API 网关来将我们的 Web UI 与我们的内部服务结构隔离开来。

此时我的问题是:有没有一种简单的方法来实现这样的 API 网关?最好的方法是什么?从头开始构建它还是我们可以使用任何免费的解决方案? (Traefik能解决问题吗?) 第一步可以让我们轻松地将客户端界面与内部架构隔离开来?

一般来说,我试图找出创建一种 API 网关的基本步骤,这样我们就可以开始在不同的微服务中隔离我们的业务功能。

更新:如果问题不明确或不够具体,请给我一个反馈,告诉我如何改进问题。

【问题讨论】:

【参考方案1】:

那里有很多选择,除非绝对必要,否则您几乎绝对不应该构建自己的选项。

根据您的托管基础​​架构,一些解决方案显而易见。如果您在 AWS 中,请使用 AWS API Gateway;如果您在 Azure 中,请使用 Azure API Gateway;如果您自己托管,那么有很多服务提供商愿意收您的钱。它们都有不同的优点/缺点。

听起来您并不真正了解您要解决的问题。您是否担心货币化?节流?验证?抽象?转型?弄清楚您要解决的问题是选择提供商的重要部分。如果您不想解决这些问题中的一个或多个,您可能不需要 API 网关。

【讨论】:

首先感谢您的回答。我想做的是创建一个小型 API 网关,在第一个版本中,它可以实现一系列基本功能,例如身份验证、聚合、监控,并且在一段时间后还可以提供缓存、断路和更高级的功能.出于这个原因,我试图了解如何继续创建它。你知道有没有一些流行的开源解决方案?

以上是关于如何创建 API 网关切换到微服务架构的主要内容,如果未能解决你的问题,请参考以下文章

微服务实践:从单体式架构迁移到微服务架构

微服务实践:从单体式架构迁移到微服务架构

建设微服务API网关的一些实践

API网关是如何演化出来的?

五脉神剑-打通微服务API网关组件

第 47 期建设微服务 API 网关的一些实践