Java 在请求负载更大的情况下,如何使用消息传递?
我在一家跨国软件公司参加面试,面试官问了我一个棘手的问题。 他说,假设你有一个包含用户和订单的系统,并且有用户和订单Rest服务。 如果用户服务已经缩放,而订单服务尚未缩放,那么如何管理订单服务上的负载。因为用户服务正在向订单服务发送大量请求以获取订单。 有谁能给我一套技术来解决这个问题吗。Java 在请求负载更大的情况下,如何使用消息传递?,java,jms,message-queue,Java,Jms,Message Queue,我在一家跨国软件公司参加面试,面试官问了我一个棘手的问题。 他说,假设你有一个包含用户和订单的系统,并且有用户和订单Rest服务。 如果用户服务已经缩放,而订单服务尚未缩放,那么如何管理订单服务上的负载。因为用户服务正在向订单服务发送大量请求以获取订单。 有谁能给我一套技术来解决这个问题吗。 我认为可以选择使用消息队列,但是如何选择呢?或者可能是。。。。。。或者两者都有。。。。请帮忙 我不知道这个问题的背景,也不知道它是否与信息有关 你可以从这个场景中得到一些东西。我假设当前的集成是通过API实
我认为可以选择使用消息队列,但是如何选择呢?或者可能是。。。。。。或者两者都有。。。。请帮忙 我不知道这个问题的背景,也不知道它是否与信息有关 你可以从这个场景中得到一些东西。我假设当前的集成是通过API实现的
- 弹性:如果您正在使用从用户服务到订单服务的同步调用。。。最后一个可以重载。在这里,您可以在用户服务中使用断路器,以避免级联故障
- 弹性/性能:另一种处理背压的方法是反应式编程。看看Spring Reactor(一个例子)
- 弹性/性能:您可以从API集成模式移动到消息传递集成。这样,您的用户服务和订单服务可以异步通信。(例如发布者/订阅者模式)