架构
文章平均质量分 88
cmlbeliever
改变世界需要你,行动吧!骚年!先改变自己...
展开
-
Groovy安全高效的执行(死循环,休眠,危险方法)
在很多场景下有需要执行异步任务,或者执行用户的自定义任务时,通常我们会使用Groovy脚本能力来完成任务。通过groovy动态脚本能力,在业务执行过程中动态执行不同业务线或者用户的脚本,来满足不同需求。这样可以非常方便的进行业务拓展,但是也会带来一系列安全问题,1 比如在脚本中调用了系统危险的方法,如System.exit 会导致整个服务停止2 触发了死循环等场景,会导致任务卡死,使用多线程的话线程也很块就被占完。3 使用Thread.sleep 将线程进行休眠。原创 2022-12-26 17:13:24 · 3749 阅读 · 1 评论 -
分布式数据一致性思考3-流程引擎实现
https://blog.csdn.net/cml_blog/article/details/107434967https://blog.csdn.net/cml_blog/article/details/120856707之前两篇文章讲解了如何处理分布式一致性实现原理,都是在理论上对一致性的保障进行说明,本篇将基于之前的介绍完成流程引擎具体的实现,真正落地到代码上。这里将基于saga分布式事务实现原理,基于实际业务场景进行适配设计。在实际场景中,总会有对多个系统交互的场景,这里将业务组件定义为一个最原创 2022-06-12 19:49:56 · 666 阅读 · 0 评论 -
B端大数据量查询优化方案
文章目录背景解决方案方案1:分库分表+搜索能力方案2:分区+搜索能力分区搜索整体方案总结背景在一些业务场景中,一开始业务量并不大,可见性的几年内不会突破非常大的数量,所以一开始设计方案的时候就没有考虑分库分表的实现方案,杀鸡焉用牛刀。随着业务的不断增长,DB中的数据也会不断的增长,单表数据量很快就突破的到了几千万上亿级别了,此时查询性能会开始下降,特别是范围查询的时候db耗时会越来越长,此时性能已经不能满足正常业务活动了,于是优化就开始了。之前遇到的场景是在某个业务A下,用户会不断的产生交易数据,数原创 2022-04-10 16:05:35 · 3202 阅读 · 0 评论 -
2021-先用后付总结
背景2021已经结束,回顾下这两年一直在做的先用后付项目,这是个需要不断的用户积累和用户心智的培养的项目,这里总结下这个模式的玩法,算是给自己一个好的年终收尾吧。对于使用先用后付的支付方式 后面统称为信用付。可能有的人还不知道信用付是啥,可以先通过下面各大平台玩法去了解一下。各大平台玩法以下是收集到的各大平台玩法,名称基本大同小异,都是要突出0元先用,后面再付款。通过底层能力的区分,底层是通过支付宝的芝麻信用和微信信用分提供能力支持。口碑淘宝拼多多有赞整体设计先用后付可以带原创 2022-01-09 17:05:59 · 3096 阅读 · 0 评论 -
分布式数据一致性思考2-业务系统架构
背景上一篇文章分布式数据一致性思考-B端系统一致性 阐述了分布式系统一致性的做法,那么对应业务系统该如何设计呢? 本篇讲解基于上一篇思路下的系统架构设计架构图根据DDD架构的分层思路,层级分别为接口适配层系统对外提供的rpc服务层,提供最基础的服务监听其他系统消息,消息作为驱动入口还有各种定时任务等入口,适配层会将请求信息转换成应用层需要的模型信息应用层负责具体业务实现与业务流程编排,更多的是作为编排者,通过领域服务层来实现业务逻辑同时这里也会做最先的业务逻辑校验,业务校验需要快原创 2021-10-19 23:50:31 · 725 阅读 · 0 评论 -
业务架构师职责
什么是业务架构师通常来说业务想清楚了需要什么能力,就会提需求给产品开始设计整个产品能力,产品同时也会找到对应的技术owner 协助进行,如提供技术角度的支持与意见。 这里的技术owner就可以理解为我们的业务架构师。 从项目立项到项目交付,贯穿整个项目生命周期。不仅要规划好整体项目能力,而且要熟悉其他依赖的业务模块逻辑,可以给出串联整个项目的架构方案。并不是所有的项目都是几百人日的,通常一个产品初期会有大量的投入,后期会进行迭代,每次迭代都需要技术owner进行业务拆解,这里的技术owner做的事情和产原创 2021-06-13 10:49:01 · 6973 阅读 · 0 评论