1.发短信
发短信的场景有很多,比如手机 +验证码登录注册,电影票买完之后会发送取票码,发货之后会有物流信息,支付之后银行发的付款信息,电力系统的电费预警信息等等
在这些业务场景中,有一个特征,那就是主业务可以和短信业务割裂,比如手机 +验证码登陆,当我们点击获取验证码的时候,会连接短信业务平台发送短信,但是发短信这个业务受到短信平台的影响,可能会存在一定时间的延时,但是我们不一定非要等短信平台返回之后,再给用户返回,我们可以先返回获取验证码成功的提升样式,将发短信的业务放入到另外一个线程中执行,用户晚一会收到短信对整体的业务流程也不会受到影响,反而提升了用户体验
代码演示:
1.在springboot项目中导入依赖:
- 编写自定义线程池配置
3.线程池要执行的任务
4.测试代码
解决:
考虑引入多线程进行并发操作,降低数据推送时间,提供数据推送的实时性
要注意的问题:
- 防止重复推送
可以考虑将数据切分成不同的数据段,每一个线程负责一个 - 失败处理
推送失败后,进行失败推送的数据记录,用额外的程序处理失败数据()
代码演示:
- 同样这里使用自定义线程池
2.使用线程池来执行该任务
3.推送消息
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!