摘要: (五) MdbCluster分布式内存数据库——数据迁移架构及节点扩缩容状态图 上一篇:(四) MdbCluster分布式内存数据库——业务消息处理 本节主要讨论在系统扩容期间的数据迁移架构及节点的状态图。我们将通过介绍这两部分,慢慢展开复杂的扩缩容流程。 下图从左到右,我们增加了ClusterMa 阅读全文
posted @ 2023-07-25 16:29 smartguy 阅读(322) 评论(0) 推荐(0) 编辑
摘要: (四) MdbCluster分布式内存数据库——业务消息处理 上篇:(三) MdbCluster分布式内存数据库——节点状态变化及分片调整 离上次更新文章已有快5个月,我还是有点懒。但我们系统的研发并没有因此停下来。下面先简单介绍下MdbCluster最近的一些进展。 1. 提供了java语言的jd 阅读全文
posted @ 2023-07-21 16:25 smartguy 阅读(149) 评论(0) 推荐(1) 编辑
摘要: (三) MdbCluster分布式内存数据库——节点状态变化及分片调整 上一篇: (二) MdbCluster分布式内存数据库——分布式架构 昨天我们在测试节点动态扩缩容时,发现了一个小bug。开始时我想当然“头疼医头,脚疼医脚”地安排开发在问题发生的地方修掉这个bug。早上刚好要一起开会,顺便讨论 阅读全文
posted @ 2023-02-22 17:24 smartguy 阅读(173) 评论(0) 推荐(0) 编辑
摘要: (二) MdbCluster分布式内存数据库——分布式架构 上一篇: (一) MdbCluster分布式内存数据库——基础架构介绍 分布式架构是MdbCluster的核心关键,业界有很多相关的实现,却很少有文章详细的解释每个架构实现背后的细节和这么做的原因。在MdbCluster整个研发和测试的过程 阅读全文
posted @ 2023-02-15 17:43 smartguy 阅读(284) 评论(0) 推荐(0) 编辑
摘要: (一) MdbCluster分布式内存数据库——基础架构介绍 这个项目是怎么开始的我已经有些记不清楚了,大概是原来的内存数据库很不好用,一次次地让我们踩坑,我又自以为是地觉得可以做一个更好的出来。自从拥有自己的团队以来,我思考最多的总是如何带着团队做出有意义和有价值的产品,而不是将时间浪费在无谓的琐 阅读全文
posted @ 2023-02-10 16:56 smartguy 阅读(250) 评论(0) 推荐(1) 编辑
摘要: mdbcluster目标构想及达成情况 经过漫长研发(主要是人力欠缺),目前mdbcluster已经达到一个准商用标准。先回顾下之前定下的目标,以及现在达成的状态。 目标构想及达成情况: mdbcluster应该具备如下功能: 1. 具备一个内存数据库的基本能力 (达成,支持增、删、改、查等等操作, 阅读全文
posted @ 2023-02-06 16:35 smartguy 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 如何开发一个分布式内存数据库 目前有很多商用的内存数据库(timesten, atibase),很多开源的分布式物理数据库,而成熟的分布式内存数据库却很少。当然mysql cluster算是一个,但其受控于oracle,真正要拿来商用,费用应该不低。我们从使用内存数据库已有近15年历史,随着系统分布 阅读全文
posted @ 2022-03-31 14:20 smartguy 阅读(1163) 评论(0) 推荐(0) 编辑
摘要: 随着5G商用临近,5G的各个子系统也在加紧研发调试,本人有兴全程参与5G中的融合计费系统(CCS)的设计、开发、联调工作。接下来将用几篇文章介绍我们在CCS实现过程遇到的挑战与架构设计的考量。相信这些宝贵的经验可以适用于更广的软件系统,免于重复地陷入软件开发的焦油坑。 阅读全文
posted @ 2019-06-24 15:20 smartguy 阅读(5306) 评论(4) 推荐(2) 编辑
摘要: 在较大规模的业务系统中经常会有这样的模块,它按照一定的业务流程调用其它模块来实现一定的业务逻辑,我们姑且称之为流程引擎。这里称之为引擎有两层含义,一、突显其在业务系统的核心重要位置。二、它又是复杂不好维护的,通常由资深程序员把持。这样的引擎不仅代码繁多,与各个模块的接口复杂,并且一定程度对外是不透明的,就像一个黑盒模块。当一个新手想对其进行哪怕是一点点修改的时候都将会是一个灾难。本文就来讨论如何将这样一个庞大的引擎进行组件化改造,使其拥有代码级的流程图,使代码的维护难度降低一个量级,让新手也可以很快知道要如何修改代码,给引擎增加新的功能。 阅读全文
posted @ 2018-08-10 16:04 smartguy 阅读(2630) 评论(0) 推荐(0) 编辑
摘要: 在C++分布式实时应用框架(CDRAF)1.0版本发布后,我们对整个框架做了大量的改进。在架构层面支持微服务架构、微服务编排。进一步厘清了CDRAF与业务代码的耦合,所有的分布式功能均不再需要业务侧关心,而统一由CDRFA内部实现。极致简化了业务侧的配置文件,也许下一步是做一个代码自动生成功能,根据配置生成相应的业务代码框架。重新实现如节点时延统计(CDRFA自动实现每个包的时延统计,业务无需关心),单号码日志跟踪(改成消息包染色的方案,CDRFA遇到染色包自动打印日志),应用命令功能(通过系统管理模块的RESTful接口给节点内的应用程序下达指令)等等。提供接口全面展示集群的节点实时拓扑图,并支持对集群节点微服务进行实时编排。增加了新的日志框架功能,提供高性能、多场景的日志输出能力。应对这些改进同步增加了相应的单元测试。由此C++分布式实时应用框架2.0版本也应运而生! 阅读全文
posted @ 2018-05-08 16:52 smartguy 阅读(3943) 评论(1) 推荐(0) 编辑