UML设计

设计类图、时序图
时序图用于表示业务在各个模块之间的流转关系和顺序。目前在做业务需求:移动加权。
由于业务要求移动加权要求实时获得缓存数据,同时保证缓存和数据库数据的一致性,所以使用StartUML工具绘制时序图来分析业务流程是否符合要求。
(1)查询缓存时序图
当用户在浏览器中触发请求移动加权的数据时,首先查询缓存Redis中是否存在数据以及该数据是否有效,
当缓存中存在数据且有效,则直接返回缓存数据;
当缓存中无该数据或者缓存数据过期时,重新查询数据库,将数据库返回的数据更新缓存,并将缓存值返回给浏览器。
这里写图片描述
(2)更新缓存时序图
存货模块利用消息队列进行存货调整,存货入和存货出的插入操作,当该消息队列中插入操作成功后触发存货核算模块表的更新以及缓存数据的更新。
存货核算模块的更新以及缓存数据的更新在一个事务内进行。实时监控存货模块-存货调整单fin_inv_ad_header,存货入库单fin_inv_asn_header 和存货出库单 fin_inv_so_header 三张表发生数据变化,当发生变化时则相对应的更新Redis中的缓存数据和存货核算模的更新。存货核算模块涉及三张表:存货入实时汇总表fin_inv_asn_collect_month,存货出实时汇总表fin_inv_so_collect_month和移动加权核算表fin_inv_asn_cost。当数据库更新操作成功后,计算新的缓存值,首先将旧的缓存值删掉,然后更新新的缓存数据,从而保证数据的一致性。
这里写图片描述
(3)spring cloud声明式调用
spring cloud声明式调用-原有请求转发逻辑不变-前端发送请求给后端控制层controller,控制层再转发给后端client层,当该层调用其他模块的service服务时则需要利用spring cloud的生产者和消费者的模式来进行声明式调用,调用其他模块中的处理方法-生产者方法,处理完毕后将数据返回给消费者,消费者方法再返回给client层,client层根据返回的数据,再进行后续的处理操作。
在这里插入图片描述

参考资料
https://www.cnblogs.com/shindo/p/5579191.html
https://www.cnblogs.com/downey/p/4890830.html
在线生成序列图 http://sequencediagram.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值