metLife项目学习到的思路

       最近公司的一个项目,本人并没有参与,但是也了解一点,在其中学习了一些解决问题的思路.

       这个 项目就是metLife,项目背景是:一个保险公司需要给他们的客户整一个体检的服务,我们公司是专业搞体检的,想要在微信的小程序中实现用户登录,并且选择项目的体检,挂号,问诊等服务.

       1.项目的需求是200的并发,最大峰值是300并发.

       对于并发量我们的解决方案是使用MQ限流,在asyc模块接收请求,吧所有的请求都压入RabbitMQ中,角色是生产者.然后在tailor模块使用消费者接收请求.

        2.推送消息给保险公司,需要重试机制

        在业务层把需要推送给保险公司的数据添加到RabbitMQ中,然后消费者通过httpClient发送数据,根据返回结果判断是否发送成功,对发送失败的数据添加Redis中,这里使用redis的lpush命令,把数据压入到redis的list数据模型中,然后在定时任务中从redis中取数据,使用rpop命令取出数据,并使用线程池每次启用一个线程重发,在这里发送的失败要计数;

        补充:redis的list数据模型是一个双向链表结构,可以使用lpush和rpush(左插入和右插入),取的话就是rpop和lpop   

 

总结:

         RabbitMQ可以抵抗一定的并发量,还可以将业务之间解耦,更易于扩展

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值