首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用spring的微服务最好的API网关是哪一个?

使用spring的微服务最好的API网关是哪一个?
EN

Stack Overflow用户
提问于 2017-09-24 13:27:43
回答 1查看 5.8K关注 0票数 6

我正在尝试用微服务架构构建一个简单的应用程序。下面是我创建的3个微服务的详细信息。

代码语言:javascript
运行
复制
1] Customer.
       database: mongodb
       server  : embeded tomcat server.
       port    : 8081
2] vendor.
       database: mongodb
       server  : embeded tomcat server.
       port    : 8082
3] product.
       database: mongodb
       server  : embeded tomcat server.
       port    : 8083

所有的3微运行在一个嵌入式tomcat服务器上。现在,我想为所有这些micros网关创建一个通用网关。它帮助我根据我得到的请求路由我的请求,例如:-例如,如果我收到网关/客户的请求。在阅读这篇文章时,我需要路由请求汤姆我的客户微,并获取它的响应,并将其发送回客户端。我可以用哪个弹簧工具来实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-24 16:12:28

因为您的需求非常简单,所以您可以自己实现这样一个网关。这是一个例子

但是,如果您真的想使用一些Spring解决方案,您可以尝试使用弹簧云Netflix,这是Spring伞式项目的一部分。它包括路由器和过滤功能,这反过来又基于Netflix Zuul网关服务。

请注意,这不是一个完整的独立应用程序,而是一个库。因此,您仍然应该创建另一个在应用程序中充当API网关的微服务。要使它成为网关,只需将@EnableZuulProxy注释添加到具有@SrpingBootApplication注释的同一个类中。您可以找到一个非常好的示例这里

还请注意,您应该以某种方式将您的微服务地址告知网关以进行重定向。它可以通过两种一般的方式来完成:

  1. 通过静态定义网关微服务配置中的地址;
  2. 服务发现模式Netflix Eureka服务注册中心结合应用。

第一种方法简单明了,但对于大量的微服务和/或当微服务的位置可以动态变化(例如,由于自动缩放)时,则不是很好。

第二种方法需要额外的组件-服务注册-并需要修改其他微服务(让它们在注册表中注册)。这是相当复杂的方法,但在复杂架构的情况下,这是唯一可能的方法。简单而有表现力的例子可以在同一条中找到。

最新情况(1月19日)

2018年12月,Spring团队将Spring中几乎所有Netflix组件(除了尤里卡)都进入了维护模式。这意味着明年他们不会收到任何功能更新(只有bug和安全修复)。

所有受影响的组件都有替代物,包括上面提到的Netflix。因此,请考虑在新项目中使用代替。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46390552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档