Bootstrap

从“金 木 水 火 土”到分布式系统架构设计

阴阳五行学说

一说到阴阳五行就容易让人想到大街上的算命先生,然而阴阳五行学说却是中国古代解释世间万物的起源和多样性的哲学理论依据,是中国古代朴素的唯物论和自发的辩证法思想。

中国古代哲学的核心思想之一用“老子”的话来说就是:

“道生一、一生二、二生三、三生万物,万物负阴而抱阳,冲气以为和。”。

而五行学说讲的是:这五行,五行相生又相克。,

但是如下图,五行虽然相生相克但都是为“和”字而服务的,即平衡:

解读开来就是:

“道”在阴阳的相互作用下,产生五行,五行之间相互作用产生世间万物的无穷变化,并且阴阳之间对立消长,五行之间相生相克,自此万物得以和谐发展。借助于阴阳五行的核心要素以及由此而生的非核心要素关系把宇宙看成一个统一的整体,这样的整体:。

那么这些玄乎的哲学理论跟分布式系统又有什么关系呢?归纳成一个字就是"和",对应到技术实现体系里就是一个理念 “权衡”(Tradeoff)。

分布式系统

通常来讲设计分布式系统的时候需要考虑的最重要的有五个,这里不是说其他要素就不重要,这是指经过过的五个最重要的核心要素,如下图:

当然还有另外一些由此而衍生的非核心要素,就不多做详细解释了,比如:

  • Testability,可测试性

  • Security,安全性

  • Observability,可观测性

  • Predictability,可预测性

  • Extensibility,可扩展性

  • Maintainability,可维护性

  • Serviceability, 可服务性

这些非核心要素虽然是非核心但是也不是说就不重要,是差异的关键,关键在如何。

阴阳五行与分布式系统

将阴阳五行理论与分布式系统设计理论结合起来解读就是:

用人话来讲就是 开发产品的时候需要考虑功能与非功能两个方面,而要保证产品质量又需要考虑”容量、性能、可用性、可伸缩性以及可靠性“这些核心要素,但是也不能忽略由此而生的一些非核心要素。

那么从这些理论到产品又需要怎么做才能落地呢? 那自然是需要 ,这就涉及到 “术”的层面了,“道”的层面可以通过看书看论文获得,而的获得除了自身努力还得靠机会。

思考题

最后给大家留一个思考题: 前面提过老子曰:, 三之后就是万物,为什么不是 五、不是六、不是七之类的呢?为什么三之后就是万物了?

作者简介

常平,中科大硕,某AI芯片独角兽深度学习首席软件主管工程师,前EMC 大数据资深首席工程师,主要工作背景在深度学习、流式大数据、分布式中间件以及Linux内核。

参考资料

[1].