对于一个项目,我想使用Spring Boot设置一个小型微服务场景,其中有一个向客户端公开REST和GraphQL的API网关、一个Eureka服务注册表和三个服务。由于性能原因,我希望API网关后面的所有服务都可以谈论gRPC,但同时仍然会公开一个额外的REST API。有没有一种干净的方法可以在相同的业务逻辑上实现这两种类型的接口?网关如何将客户端的HTTP请求代理到gRPC请求?
您可以查看LogNet grpc-Spring-boot-starter,了解如何将gRPC集成到Spring Boot中,它还有一个关于Eureka的部分。
根据Eureka的例子,确保您不会为每次通话通过gRPC创建新连接。
根据API网关的实施情况,它还应与Eureka对话,并通过gRPC通过逻辑名称访问下游服务。
根据第二部分,只需在Spring服务中实现您的业务逻辑,并从与传输相关的抽象(控制器和gRPC服务)向它们转发调用。
或者,您可以更进一步,只在Protobuf中定义所有消息。然后为HTTP注册Spring的Protobuf转换器。
我使用spring boot web flux从事一个微服务项目,下面是一些服务: BaseInfoService 通知服务 会计服务 订单服务 PerformService 现在,我应该使用webClient进行服务调用,将来我会使用kafka和spring cloud stream并将请求作为事件发送。 第一个问题是我应该在控制器中使用还是? 第二个问题:我在github和其他站点中看到了许多
我找不到任何例子或文章,当我们使用Spring Boot+Docker+Jenkins时,连续交付管道会是什么样子。 在我们的新项目中,我们希望在一个虚拟机中部署应用程序作为docker容器。我在Jenkins中为此编写了shell脚本,它工作得很好。 null
我正在寻找一个最佳实践和高效的解决方案,以确保通过REST与Web客户端应用程序通信的多个微服务的安全。 当前设置: 这些微服务是用Java制作的,带有Spring框架,并运行在Docker容器中。 客户端是一个Angular 2应用程序。 我创建了一个新的µ服务,它将充当“网关”,是我的web客户端和其他服务之间的唯一通信点。 我从远程身份验证API检索JWT加密令牌(让我们称之为LOCK) 我
gRPC以其性能和效率似乎成为微服务内部通信的热门选择。 然而,gRPC使得查询关系数据变得更加困难,并且需要更多的工作来挂接到我们的API网关。 另一个选择是每个微服务实现它们自己的GraphQL模式,这样它们就可以使用API网关中的Apollo Federation轻松地拼接在一起。 我们如何决定使用哪种方法? 有没有什么值得我们考虑的显著优势?例如。在易用性、可维护性、可伸缩性、性能等方面?
假设我们有一个用户、Wallet REST微服务和一个将事情粘合在一起的API网关。当Bob在我们的网站注册时,我们的API网关需要通过用户微服务创建一个用户,通过钱包微服务创建一个钱包。 下面是一些可能出错的场景: > 用户Bob创建失败:没关系,我们只需向Bob返回一个错误消息。我们使用的是SQL事务,所以没有人在系统中看到Bob。一切都很好:) 创建了用户Bob,但在创建钱包之前,我们的AP
为了这个问题,我正在做一个项目,其中有两个微服务: null 根据我所读到的,为了进行这种更改,我们需要做以下几点: 从->切换 更改配置以启用分布式命令 使用SpringCloud或JCloud连接微服务 将AxonFramework添加到遗留InvoiceService项目并处理接收到的saga事件。 这是我们遇到麻烦的第四点:发票服务是由一个不愿意进行更改的单独团队维护的。 在这种情况下,使