首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/vivotech/blog/4975507

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

事务消息应用场景、实现原理与项目实战(附全部源码)

1、活动中心场景介绍 在电商系统上线初期,往往会进行一些“拉新”活动,例如活动部门提出新用户注册送积分、送优惠券活动。 基于分布式、微服务的设计理念,通常的架构设计(子系统交互)如下图所示: 其核心系统介绍如下: 账户中心 提供用户登录、用户注册等服务,一个新用户注册时,向MQ服务器中的USER_REGISTER主题发送一条消息,主流程结束,与送积分,送优惠券等过程解耦。 优惠券(券系统) 提供发放优惠券、使用优惠券等与券相关的基础服务。 积分中心 提供积分相关的服务,例如积分赠送、积分消费、积分查询等基础服务。 送积分服务(消费者) 订阅MQ,按照规则决定是否需要赠送积分,如果需要则调用积分相关的基础接口,完成积分的发放。 送优惠券(消费者) 订阅MQ,按照规则决定是否需要赠送优惠券,如果需要则调用券系统相关的基础接口,完成优惠券的发放。 上面的架构设计非常优雅,但并不是无懈可击,读者们肯定会想到如果新用户注册成功,但消息发送到MQ失败,或者消息成功发送到MQ,但发送完MQ后系统出现异常导致用户注册失败又该如何呢? 上面的问题其实就是典型的分布式事务问题:即如何保证用户注册(数据库操...

我以为我很懂Promise,直到我开始实现Promise/A+规范

我一度以为自己很懂Promise,直到前段时间尝试去实现Promise/A+规范时,才发现自己对Promise的理解还过于浅薄。在我按照Promise/A+规范去写具体代码实现的过程中,我经历了从“很懂”到“陌生”,再到“领会”的过山车式的认知转变,对Promise有了更深刻的认识! TL;DR:鉴于很多人不想看长文,这里直接给出我写的Promise/A+规范的Javascript实现。 github仓库:promises-aplus-robin(顺手点个star就更好了) 源码 源码注释版 promises-tests测试用例是全部通过的。 Promise源于现实世界 Promise直译过来就是承诺,最新的红宝书已经将其翻译为期约。当然,这都不重要,程序员之间只要一个眼神就懂了。 许下承诺 作为打工人,我们不可避免地会接到各种饼,比如口头吹捧的饼、升值加薪的饼、股权激励的饼...... 有些饼马上就兑现了,比如口头褒奖,因为它本身没有给企业带来什么成本;有些饼却关乎企业实际利益,它们可能未来可期,也可能猴年马月,或是无疾而终,又或者直接宣告画饼失败。 画饼这个动作,于Javascri...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册