使用 SpringBoot+SpringAMQP+RabbitMQ 实现 RPC 的 demo
使用Spring Boot(1.5.9)+Spring AMQP+RabbitMQ实现RPC的demo
Spring AMQP的官方文档提供了一个RPC的demo,但是RPC服务端是同步返回结果的,同步的RPC服务会顺序执行RPC队列中的请求, 如果某一个请求执行较慢,会阻塞后面的请求并造成严重的性能问题。解决这种问题的方法是设置并发消费者(concurrentConsumers属性)或者启动多个RPC服务。 这在大多数情况下是有效的,但是如果这个任务是异步的,或者甚至是事件驱动的(比如NIO中的readable事件),那么同步阻塞消费者线程的方式就不太合适了。 该Demo中提供了3个服务端示例: