一个单一api和另一个后台api之间的java微服务项目

p4tfgftt  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(339)

我想知道是否有可能在一个旧的Java1.8单片api和一个SpringBoot后端之间创建一个SpringBoot微服务(对前端作出React,但这并不重要)。
想法如下:
单片api中的restcontroller--->微服务(springboot)-->返回api(springboot)
对于用例:
点击api a按钮
将数据绑定到api b的restcontroller
将相同的数据发送到api c
我不认为这是可能的通过restcontroller由于交叉起源,但它可以很好地找到一个解决方案。
你怎么认为?

0vvn1miw

0vvn1miw1#

热释光;假设这些都是同步远程处理调用,我认为这不应该带来太多问题,除了可能的延迟(如果这是一个问题)和可能的身份验证。
monolitha中的restcontroller可以调用由microserviceb实现的restapi,只要它能够到达该端点,并且知道如何为它Map/聚合数据。微服务b可以反过来调用api c。
我假设调用都是阻塞的,这意味着处理请求的每个线程都将暂停,直到收到响应为止。这意味着对a的调用必须等到b和c都完成了处理并发送了响应。这可能会增加(特别是如果这些都是到不同服务器的网络跳转)。如果这是一个临时设置,用于将扼杀器模式应用于monolith的一部分,那么在调用仍然通过monolith路由的时间段内,延迟可能不是问题。
据我所知,从浏览器窗口检索内容时,跨来源资源共享(cors)只是一个问题。在所描述的情况下,这不应该是一个问题。任何调用monolitha的客户机都不会知道它背后的组件。如果这三个组件中的一个或多个不在您的控制之下,或者没有以相同的方式进行管理/身份验证,那么您可能会遇到一些身份验证挑战。例如,微服务可能需要jwt令牌,而monolight可能还没有提供。这将意味着一些修修补补,使组件在这方面成为朋友。
扼杀模式

相关问题