摘要: 这个春节假期,本来是制定了一系列计划,但是在假期结束时,才发现实施了不到五分之一。这让我想起了以前高中寄宿的时候,每两周才能回家一次,每次回家我都会背一书包书回去,想着在家好好学习。结果呢,大多数时候书包都不会打开,然后原样背回学校。 唯一完成的计划 就是看完《小强升职记》这本电子书,因为是电子书,阅读全文
posted @ 2018-02-25 15:57 xybaby 阅读(3154) 评论(7) 编辑
摘要: 程序员学习每一门语言都是从打印“hello world”开始的,日志也是新手程序员学习、调试程序的一大利器。当项目上线之后,也会有各种各样的日志,比如记录用户的行为、服务器的状态、异常情况等等。打印日志似乎是一件很简单、不值得一提的事情。但是,当看到线上项目居然有这样的日志的时候,不禁想问问我们真的阅读全文
posted @ 2017-12-04 09:05 xybaby 阅读(8975) 评论(5) 编辑
摘要: 上周,又看见有程序和PM(产品经理)吵了起来,大致是因为晚上就要上线了,下午的时候PM来说要改点需求,但程序不愿意。兴许是天气热了,大家都很烦躁,于是一言不合就发飙了,最终还是程序老大介入才解决了问题。 程序和PM的最大矛盾应该就是 需求 :提需求、改需求。 但程序和PM一定是对立的双方吗?显然不是阅读全文
posted @ 2019-05-27 09:26 xybaby 阅读(2186) 评论(10) 编辑
摘要: 由于项目的需求,最近花了较多的时间来看开源项目的代码,在本文中,简单总结一下对为什么要看源码、如何看源码这两个问题的思考。 本文地址: "https://www.cnblogs.com/xybaby/p/10794700.html" 看源码的意义 看源码只是一种方法、手段,而不是目的。我也曾经给自己阅读全文
posted @ 2019-04-30 10:51 xybaby 阅读(1291) 评论(1) 编辑
摘要:   在 "CAP理论与MongoDB一致性、可用性的一些思考" 一文中提到,MongoDB提供了一些选项,如Read Preference、Read Concern、Write Concern,对MongoDB的一致性、可用性、可靠性(durability)、性能会有较大的影响。阅读全文
posted @ 2019-01-14 09:14 xybaby 阅读(418) 评论(0) 编辑
摘要: 在 "一文搞懂raft算法" 一文中,从raft论文出发,详细介绍了raft的工作流程以及对特殊情况的处理。但算法、协议这种偏抽象的东西,仅仅看论文还是比较难以掌握的,需要看看在工业界的具体实现。本文关注MongoDB是如何在复制集中使用raft协议的,对raft协议做了哪些扩展。 阅读本文,需要对阅读全文
posted @ 2018-12-24 09:21 xybaby 阅读(825) 评论(1) 编辑
摘要:   raft是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。在这里强调了是在工程上,因为在学术理论界,最耀眼的还是大名鼎鼎的Paxos。但Paxos是:少数真正理解的人觉得简单,尚未理解的人觉得很难,大多数人都是一知半解。本人也花了很多时间、看了很多材料也没有真正理阅读全文
posted @ 2018-12-17 09:35 xybaby 阅读(6543) 评论(7) 编辑
摘要: 《Designing Data-Intensive Applications》的第一部分,基于单点(single node)介绍了数据系统的基础理论与知识;在第二部分,则是将视野扩展到了分布式数据系统,主要是Partition和Repliacation。在第三部分,则聚焦于派生数据系统。 integ阅读全文
posted @ 2018-11-05 09:29 xybaby 阅读(330) 评论(0) 编辑
摘要: 最近做了一次架构(流程)的设计,简单来说,是设计一个流程,提供相应的API,方便其他程序员将业务逻辑逐步迁移到另一套框架。在完成这次设计的过程中,还是有许多经验、教训,值得思考和记录。其实,这些经验总结,可能在其他地方看到过,也听别人分享过,不过只是“夫子言之,于我心有戚戚焉”,只有当自己亲身经历过阅读全文
posted @ 2018-10-14 12:03 xybaby 阅读(863) 评论(0) 编辑
摘要: One take,是几年之前看综艺节目听林志炫提到的一个词,就是说录制一首歌曲一次性完成,无需后期的各种修音。这个概念听起来就很酷,对不对? 作为一个程序员,我经常也希望能够One take:一次性把事情做好,不用反复。但逐渐发现,追求One take是很难的。 本文地址:https://www.c阅读全文
posted @ 2018-09-08 09:45 xybaby 阅读(347) 评论(1) 编辑
摘要: 在《Designing Data-Intensive Applications》的第一部分(参考上文),介绍了数据系统的基础理论与知识,都是基于single node。而在DDIA的第二部分(Distributed Data),则是将视野扩展到了分布式数据系统。数据的分布式主要有以下三个原因: Sc阅读全文
posted @ 2018-08-21 09:02 xybaby 阅读(776) 评论(0) 编辑
摘要: 在MongoDB3.6引入的新feature中,change stream无疑是非常吸引人的。 Change streams allow applications to access real-time data changes without the complexity and risk of 阅读全文
posted @ 2018-08-13 14:38 xybaby 阅读(2653) 评论(0) 编辑