Kafka解耦原理浅析

Kafka解耦原理浅析_第1张图片

一、高度耦合大数据架构


Kafka解耦原理浅析_第2张图片

1.每一个数据源都会有四个不同流向

2.每一个数据接收者都可能有四个不同来源

3.系统高度耦合,系统复杂度4*4=16

4.不利于程序开发、维护、升级


 

二、Kafka解耦之后架构


Kafka解耦原理浅析_第3张图片

1.所有source只流向Kafka

2.所有target只从Kafka中取数据

3.系统高度解耦,系统复杂度4*1*2=8

4.开发和维护升级成本显著降低


三、传统架构对比Kafka架构复杂度广义分析


假设:SOURCE:N种    TARGET:M种

传统架构: T = N * M

Kafka架构:K = N + M

(1)M >= 1, N = 1(多对一简单系统)

        T = K - 1

  (2) M >= 1,N > 1(多对多复杂系统)

        T >= K

现在假设M=N,我们看下随着SOURCE和TARGET的增大趋势如何【使用Maple科学技术算软件】

Kafka解耦原理浅析_第4张图片

注解:传统架构(红线) Kafka架构(蓝线)

由此可见,如果单从系统复杂度考虑,不考虑Kafka的其他优势(易扩展、高速读写、缓冲流),Kafka在多对多的复杂系统表现更为突出。

而大数据场景,往往数据来源多样,数据流向多元,从这个角度来说,Kafka在大数据场景中起到了至关重要的作用。

你可能感兴趣的:(Kafka,kafka)