
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习计算机编程开发技术,而本文我们就通过案例分析来简单了解一下,软件开发异步化与缓存技术应用分析。
一、异步化
对于核心系统异步化的重要性和带来的好处不用多说,但什么样的场景需要异步化了,就交易来说,像扣减库存,优惠券使用,支付这些核心链路是不能异步化处理,能异步化处理的是在交易时刻就不需要立刻确定的场景。如创建物流订单,佣金计算等。
总体原则就是将不在交易核心链路的部分,尽量异步化去处理。
异步化常用的手段就是消息机制和分布式定时任务。
消息机制:先需要标准化交易事件消息,如交易创建,确认,支付完成等。
分布式定时任务:支付超时关闭交易,失败重试,异常交易扫描这些场景适应定时任务,延迟在分钟级别,这块选用开源界比较优秀的框架就可以了,没有必要自己搞。
异步化带来的好处主要是:
将交易系统和非核心系统解耦,从而确保交易的稳定性和响应时间。
帮下游系统削峰,很多下游系统的容量是非常小的,在大促这样的高峰期间,是没有足够的资源跟上交易的处理速度的,消息中间件集群,会起到非常好的缓冲削峰作用,下游系统按照自己的速度消费就可以了,如果下游消费太慢会出现消息堆积,但消息集群本身就是耐堆积的。
二、缓存
缓存适用于读多写少的场景,但交易是以写为主的场景。所以交易数据本身是没有缓存需求的,但通过前面的核心链路分析可以看出,像交易依赖的商品,优惠,用户这些信息如果直接走DB,会非常慢,而这些数据是读多写少,是非常适合使用缓存,提高性能的。交易团队需要通过依赖调用关系分析,推动依赖的上下游系统的技术团队,使用缓存技术,做性能提升和可靠性保障。常用的缓存策略有前置缓存和后置缓存。
前置缓存:
优点:即使业务系统挂了,也没有啥影响,
缺点:后期升级比较麻烦,必须通知依赖client的应用都强制升级。
后者缓存:
优缺点正好和前置缓存相反。
在实际使用中,如果为了保障非常高的可用性,可以两者结合使用,通过动态配置开关做切换,在client层的代码做一下路由切换处理。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。