ESB异步处理方式2

上篇文章解决的是同步处理请求中,服务处理过久造成客户端调用超时的问题。但是当某个请求访问过于频繁造成核心服务压力过大时,异步调用并不能解决这样的性能问题。

于是调整了下架构
[img]http://dl2.iteye.com/upload/attachment/0097/8210/aeb7535a-1c7e-394a-864a-c2980a730e80.bmp[/img]


1.客户端请求ESB
2.ESB将请求消息转化后发送到消息队列等待concumer braker获取
3.concumer braker实现ApplicationContextAware接口,在启动后队列没有消息时阻塞,如队列产生消息,获取消息并根据SERVICEID从线程池启动线程,对消息进行路由转发,将服务调用后产生的结果存入responseQueue(注意,该)
4.result concumer braker发现responseQueue队列中存在结果消息,并获取,从线程池启动线程并主动调用客户端回调接口。
5.客户端回调接口处理结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值