分治思维

 

凡架构必拆分,分则有度

 

分而治之是解决管理系统复杂度的普遍方法,合并、拆分、协同、自治是所有架构都会包含的主要元素。

 

分治算法 到 分治思维

  对于程序员来说,分治法是一种很重要的算法,也是分治思维最基本的体现。

  分治算法主要的三个过程:
    1.将一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题----“分”
    2.将最后子问题可以简单的直接求解----“治”
    3.将所有子问题的解合并起来就是原问题得解----“合”

  

  分治方式,需要满足一个最重要的条件:不同分支上的子问题,不能相互依赖,需要各自独立;

 

水平拆分更多的是解决计算的弹性,而垂直拆分则更多解决业务的复杂度的问题,在我们实际的应用中,水平拆分和垂直拆分经常同时存在,分治后虽然解决了弹性和业务复杂性的问题,但也伴随着合并集成、运维管理的复杂度的升高;

 

拆分是架构设计的手段而非结果,所有的系统都是物理上拆分,逻辑上整合;底层拆分,上层聚合。

拆分是一个过程,分分合合就是度的把握,没有一步到位的设计,只有演进式调整

posted on 2024-06-06 15:33  anpeiyong  阅读(9)  评论(0编辑  收藏  举报

导航