服务系统数据的一致性:可靠事件
微服务架构解决了很多问题,但是同时引入了很多问题。设计到系统,其中绕不开的就是数据一致性,从本地事务,到后来的分布式事务,都能够有效的保证数据一致性。但是在微服务架构中,这两种方式都不是最好的选择。
场景:话费充值业务
1.用户进入便民中心进入话费充值 页面,输入电话号码、选择面值;
2.购买话费充值商品,有库存限制则判断库存,生成充值购买订单;
3.选择对应的支付方式(银联、支付宝、微信)进行支付操作;
4.支付成功后,近实时话费到账即可显示账户可用余额;
此业务流程看似不是很复杂对吧,是虚拟业务线的流程,和实体最大的差别在物流发货流程,当消费者点击购买按钮时,交易后台会进行库存检查、下单、减库存、更新订单状态等一连串的服务调用,每一个操作对应一个独立服务,不同服务一般会有独立的数据库,因此会产生分布式事务的问题。
电商社区——话费充值中心