在高并发系统中,除了自开发的各种业务处理系统外,
还可以使用的一些支持高并发的开源组件和中间件,
它们大都是业界的标杆性项目,能大大提高整个系统的并发性能,加速业务的快速落地。
本文介绍在高并发流媒体传输系统中用到的几个典型开源组件,
它们分别是Kafka, redis, Linux LVS;
1. Kafka
1.1. 简介
Apache kafka 是一个分布式的基于push-subscribe的消息系统,它具备快速、可扩展、可持久化的特点。
它现在是Apache旗下的一个开源系统,作为hadoop生态系统的一部分,被各种商业公司广泛应用。
它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:
比如基于hadoop的批处理系统、低延迟的实时系统、storm/spark流式处理引擎。
Kafka的特点:
• 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒
• 可扩展性:kafka集群支持热扩展
• 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失
• 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)
• 高并发