中间件
数据量上来之后,一条链路直接把数据塞进数据库就扛不住了,得在中间加一层来搬运和加工数据。分布式消息系统和流处理平台就是这一层:前者保证数据可靠地送过去,后者在数据到达的当口就做处理和分析。
1.1 数据架构的演变
早年业务都跑在集中式数据库上,数据量一大就撞到性能瓶颈,扩容也受单机限制。分布式消息系统和流处理平台是顺着这个需求长出来的:并发数据流由多个节点分摊,单点挂掉不影响整体。
1.2 消息系统和流处理的作用
消息系统(如 Apache Kafka、RabbitMQ)负责异步传输数据,系统组件之间以消息的形式通信。它提供消息持久化、路由和消费这几项能力,更重要的是把收发两端解耦:生产方只管往队列里扔,消费方按自己的节奏取,加机器扩缩容都不必动对方的代码。
流处理平台(如 Apache Flink、Apache Storm)处理的是持续不断的数据流,数据一到就能处理,这与批处理攒一批再算不同。事件驱动的应用、实时看板都建立在这种"边到边算"的能力上。