
系统架构设计
文章平均质量分 90
装逼未遂的程序猿
这个作者很懒,什么都没留下…
展开
-
基于BPMN2.0的工单系统架构设计(上)
版权声明: 本文为博主原创文章,未经博主允许不得转载。关注公众号 技术汇(ID: jishuhui_2015) 可联系到作者。一、前言『工单系统』从宏观上看,是一些状态流的转换,笔者认为,工单系统的实现即是对工作流(workflow)的实现,典型的应用有企业OA系统,各类CRM,ERP等。对于工单系统的实现,其实可以结合实际业务去编写相应的业务代码,这样做的最大的好处...原创 2018-05-26 09:30:28 · 5208 阅读 · 1 评论 -
谈谈优惠券系统的设计
优惠券系统的核心在于各种券种的管理,发放和使用。通常的设计角度是从终端用户出发,所谓“所见即所得”,终端用户所见到的形形色色的优惠券,正是开发整个系统的挑战所在。可以想象,为了配合不同形式的线上、线下活动,优惠券系统势必有较大的改动,如何最大限度的降低改动的成本,成为了最核心的挑战。就上述问题而言,解决的方法就是:规则与执行相隔离。规则层,即是各类优惠券的使用限制,以及能达到的效果...原创 2018-05-23 10:07:06 · 42151 阅读 · 19 评论 -
基于BPMN2.0的工单系统架构设计(中)
在上篇基于BPMN2.0的工单系统架构设计(上)中,笔者带大家学习了一下BPMN2.0的相关标准,也是笔者实现工单系统的至关重要的基础部分。在接下来两篇文章中,将重点阐述整个工单系统是如何实现上篇提到的一部分BPMN2.0标准,以及整个工单流程是如何推动的。对于这套工单系统,笔者给出的设计准则是:独立而通用。独立,即意味着不依赖任何业务系统,自成体系。通用,则表示这套工单系统是普遍...原创 2018-05-29 08:13:30 · 1771 阅读 · 0 评论 -
分布式发号器架构设计
一、需求介绍1、分布式环境下,保证每个序列号(sequence)是全系统唯一的;2、序列号可排序,满足单调递增的规律;3、特定场景下,能生成无规则(或者看不出规则)的序列号;4、生成的序列号尽量短;5、序列号可进行二次混淆,提供可扩展的interface,业务方自定义实现。二、方案设计为了满足上述需求,发号器必须能够支持不同的生成策略,最好是还能支持自定义的生成策略...原创 2018-05-24 15:33:33 · 5249 阅读 · 0 评论 -
基于BPMN2.0的工单系统架构设计(下)
版权声明: 本文为博主原创文章,未经博主允许不得转载。关注公众号技术汇(ID: jishuhui_2015) 可联系到作者。在上两篇文章中,介绍了BPMN2.0和工作流定义语言(以下简称WDL),以及工单系统的业务流程设计。本文是工单系统系列的最后一篇,着重讲解工单系统的程序设计。因为所有流程的配置和定义都在WDL文件中,所以必然会引入关于WDL的解析层,这是整个工单系统的基...原创 2018-05-30 09:06:00 · 2522 阅读 · 1 评论 -
细说双Buffer缓冲池
前言缓冲机制是对数据持久化的延迟,减少不必要的IO,提高数据落盘的效率。本文将会详细探讨拥有双Buffer的缓冲池(下文统称TwinsBufferPool)是如何实现的,读者可以依此推广,得到N-Buffer的实现原理。在此篇文章中,缓冲区(Buffer)和缓冲池(BufferPool)是两个重要的概念,很明显,两者构成了一个包含与被包含的关系,一个缓冲池内可以有一个或者多个缓冲区协同工作,缓...原创 2019-03-28 11:59:31 · 1164 阅读 · 0 评论 -
大规模手机定位采集系统设计
一、业务场景分析基本的业务需求可分为两大部分,第一部分是手机端间隔一定时间上报一次位置信息,第二部分是后台系统可以实时看看手机设备当前所在的位置,并绘制轨迹。总之就是用户安装了此应用,就相当于给自己装上了一个跟踪器,所到之处,都将有所记录。我们先来保守计算一组数据,假定用户基数为10万,每隔5秒上报一次位置信息,而这5秒期间,地图SDK大概会给出2次定位数据,由此得出,一次上报的瞬时峰值大概...原创 2019-04-09 14:17:42 · 2104 阅读 · 0 评论