- 博客(17)
- 收藏
- 关注
转载 从分而治之的思想到架构的设计
辛巴当上了国王,他究竟要怎样才能管理好它的王国?分治与总量控制在上一篇文章里,我们得到两个信息:人类大脑的信息实时处理能力存在上限软件系统的复杂度远超人类大脑的复杂度处理上限从而引出了人类解决大规模复杂问题的根本方法分而治之然而分而治之的需要基于一个前提进行复杂度总量控制因为...
2019-09-04 09:27:00
237
转载 编程杂谈:从人类与软件系统的根本矛盾说起
在纷繁复杂的概念满天飞舞的软件编程领域,希望能分享自己整理的一些观点,帮助大家穿透迷雾,看清问题以及解决方案的本质。人类认知能力上限有一个说法:人的短时记忆广度平均数为7,即大多数人一次最多只能记忆7个独立的块(Magic number 7)。有另外一个说法:当需要根据短时记忆进行信息加工时,一个成年人能处理的块的个数是4左右(Working memory)。这些说法...
2019-07-29 09:10:00
201
转载 EasyTransaction主要源码分析
EasyTransaction是一个全功能的分布式事务框架,以下特性摘抄自其首页:https://github.com/QNJR-GROUP/EasyTransaction一个框架包含多种事务形态,一个框架搞定所有类型的事务多种事务形态可混合使用高性能,大多数业务系统瓶颈在业务数据库,若不启用框架的幂等功能,对业务数据库的额外消耗仅为写入25字节的一行可选的框架自带幂等实现及调...
2019-06-30 23:11:00
313
转载 编程哲理小故事:Tina的运动会方阵
自从接到任务后,Tina一直 烦恼着如何让这群繁忙又缺乏才艺的程序员在运动会开幕式上做出一个有趣的方阵表演。接到了运动会的方阵表演的任务时间回到1个月前。Tina正在工位上繁忙地进行着下一期准备上线系统的测试,这时候老大跑了过来“Tina,我们公司要举行运动会,开幕式时有方阵的表演,你帮忙组织下?”Tina心里咯噔一下,来了一个苦差。“方阵?就是像奥运会...
2019-06-24 09:41:00
301
转载 多维扩展点的思考与设计——解决渠道、产品增加引发的腐化问题
随着业务渠道及产品的增加,你的代码是否开始陷入IF-ELSE组成的泥潭,难以脱身?持续增加的渠道特性小码同学一来到新公司,就负责起了一个新开始,但具有无限想象空间的后台开发项目。就像所有的互联网项目一样,业务变化极其迅速,为了减少初期试错成本,小码同学选用了流行、便捷的贫血模型,也就是Service+DAO/RPC结构,做了简单的关注点分离——业务以及基础设施(存储/远程服务)的分...
2019-06-10 07:26:00
211
转载 分布式事务框架Seata及EasyTransaction架构的比对思考
本文将会对比Seata与EasyTransaction两个分布式事务的一些高层设计,相信大家会有收获。Seata的概述Seata(曾用名Fescar,开源版本GTS)是阿里的开源分布式事务框架,其RoadMap中指出了其希望与社区合作重新构建出一个全面的分布式事务框架。关于Seata的相关介绍可以看这里,本文不再赘述。虽然其后续路线有所调整,但整体适用。https://githu...
2019-04-09 07:54:00
183
转载 设计,架构,框架之间是什么关系?
设计(design)、架构(architechure)、框架 (framework)之间是个什么关系?请描述一下?每个人都在进行设计在探讨题目问题之前,我们从设计开始聊聊。其实我们每个人都在做设计,无论我们是在哪个行业,哪个层次,哪个职位。画家作画时会画草图做设计作家写作时会列提纲做设计程序员编码时会写伪代码做设计清洁工扫地时会在脑海里设计扫地的执行路径设计有大有小...
2019-01-01 22:47:00
465
转载 你知道如何画好一幅架构图么?
用一分钟时间,你能在脑海里构造一幅你最熟悉的系统的架构图么?先别往下看,自己先想象下。混乱的架构图不知道你想象中的软件架构图是怎样的,但我猜想大家画的应该跟百度或者谷歌搜索“架构图”出现的结果一样:五花八门、形状各异。导致这个现象的原因,个人认为有以下几点:软件架构的定义在大多数人心里不够清晰软件架构是多维的,难以用简单某个维度描绘全景不同角色对于一个系统的关注点不一样,...
2018-12-20 20:02:00
152
转载 “若干分布式事务框架”与“我的偏见”( 测试/分析)
本文来谈谈我对若干分布式事务框架的看法,只谈设计时导致无法轻易改变的硬伤(或者说我的偏见),其优点应该已表现在其文档中,不再赘述。至于我的偏见能不能成为你的偏见,请自行思考核实,仅供大家选型时开拓思路使用。靶子以下我略有了解的框架将成为靶子:TransactionsEssentials(atomikos免费版)tcc-transactionByteTCChmilytx-...
2018-11-30 00:37:00
272
转载 那个不管“万一”的程序员后来怎么样了?
不怕一万,只怕万一呀,朋友。“这个情况很极端肯定不会遇到,不管了”从前,有个程序员叫小明,他在开发一个股票的投资组合功能。这个功能简单的来说,就是一个投资组合里有现金、股票等资产,我们根据组合里股票涨跌等情况,给出一个整体组合的指数,以评判组合的水平。聪明的小明在开发的时候就发现了,如果存在现金为0,并且所持有的股票都退市了的话,这个股票指数的计算就会存在问题。小明想:“现金为...
2018-11-01 08:49:00
86
转载 如何选择分布式事务形态(TCC,SAGA,2PC,补偿,基于消息最终一致性等等)
各种形态的分布式事务分布式事务有多种主流形态,包括:基于消息实现的分布式事务基于补偿实现的分布式事务(gts/seata自动补偿的形式)基于TCC实现的分布式事务基于SAGA实现的分布式事务基于2PC实现的分布式事务之所以有这么多形态,是因为任何事情都没有银弹,只有最合适当前场景的解决方案。这些形态的原理已经在很多文章中进行了剖析,用“分布式事务”关键字就能搜到对应的...
2018-09-25 08:55:00
2492
转载 JAVABEAN递归转MAP实现
之前想找这么一个方法,找到的都不是递归实现的,列表、MAP里面的都没转,就自己折腾了个。——YOYOpublic class ObjectToMap{ public static Map objectToMap(Object obj){ try{ Class type = obj.getClass(); ...
2015-04-11 15:31:00
290
转载 Linux平台Cpu使用率的计算
ref:http://www.blogjava.net/fjzag/articles/317773.htmlproc文件系统/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取...
2015-02-20 21:58:00
105
转载 SQL SERVER 数据库事物日志 备份 收缩 腾出空间
在网上查了一下数据库事务日志很大无法减少的方法,发现网上写的很多不靠谱,或者说没有说清楚原理把...翻看了一下msdn,还是这里的说法权威且靠谱总结一下,要减少事务日志的占用的物理空间只需进行一下步骤:备份数据库(及其事务日志)以建立checkpoint(检查点),建立检查点后,对应检查点之前的事务日志就没用了,可以free掉,但是free掉只是标志为可用,实际...
2012-03-12 21:33:00
140
转载 第一次迭代——视频点播系统
刚刚看完一本架构设计的书籍,感觉自己学习了不少东西,现决定开始做一个毕业设计,顺便巩固和加强最近的学习打算使用 测试驱动开发、领域驱动开发及敏捷的思想为指导完成这个毕业设计。好吧第一次迭代的需求自己已经假定好了:Lv(0)——未登录用户:观看电影LV1——一级登陆用户:1、 顶及踩2、 评论LV21、 上传电影LV31、 永久电影保存空...
2011-11-19 20:22:00
130
转载 cstddef定义了NULL
<cstddef> 定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补充定义,宏offsetof接受结构或者联合类型参数,只要他们没有成员指针类型的非静态成员即可。转载于:https://www.cnblogs.com/skyesx/archive/2011/10/04/2198...
2011-10-04 16:28:00
168
转载 Posix定义的进程线程同步系统调用
FreeBSD, NetBSD, GNU/Linux, Mac OS X and Solaris等系统为符合Posix规范的系统而 DR-DOS and Microsoft Windows等系统不符合Posix规范,但可以通过一些扩展包实现Posix规范(其中windows提供的扩展包是在系统调用中直接扩展,而并非映射)pthread.h这个头文件包含了POSIX...
2011-10-04 16:15:00
190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人