【问题标题】:Spring cloud proxy service-to-service callsSpring Cloud 代理服务到服务调用
【发布时间】:2016-03-24 07:39:10
【问题描述】:

目前我有一个调用通知服务的前端服务。前端服务不依赖于通知服务的响应。我希望前端服务调用通知,但不等待通知服务的响应。可以在前端服务本身内做到这一点吗?我是否必须使用一些消息服务来“代理”这两个服务之间的调用?

【问题讨论】:

    标签: spring spring-boot spring-cloud microservices


    【解决方案1】:

    您需要一个队列,该队列可以是独立的服务(RabbitMq、Hornet 等)或者您可以在通知服务中使用队列。

    1. 独立队列,这种情况下可以在服务中间使用消息代理,前端服务将消息发送到队列,通知服务从队列中读取消息然后发送。

    2. 内部队列,您可以在通知服务中拥有一个内部队列,就像 SpringIntegration 中的队列一样。当服务收到消息时,立即将其放入队列并返回 OK 代码。前端服务不需要等到通知发送。然后通知服务按照自己的节奏处理其队列中的消息。

    【讨论】:

    • 前端服务使用内部队列怎么样?前端服务无需等待网络调用完成并更快地返回响应。
    • 是的,这是可能的。但是您需要在每个前端服务上实现相同的功能。
    【解决方案2】:

    您可以进行异步执行。只需将@EnableAsync 添加到您的应用程序类中,并使用@Async 注释调用通知服务的方法。

    【讨论】:

      猜你喜欢
      • 2016-05-07
      • 2021-10-23
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      相关资源
      最近更新 更多