作者:禅与计算机程序设计艺术
1.简介
1987年,Erlang语言发布,一位名叫Joe Armstrong的博士创造了一种并发模型,被称为Erlang的快速分布式计算模型。几年后,他又提出了一个更加抽象的概念“分布式计算”,这就是并发编程(Concurrency Programming)的概念。但是,它毕竟只是一种概念,要落地还需要多方协作的各类工具。
1998年,一个名叫James Gosling的开发者基于这个理念,提出了Java平台中最著名的并发框架之一——J2EE Concurrent API。它使得应用程序开发人员可以很方便地实现复杂的并发性需求。但是,随着互联网信息爆炸式增长、移动互联网应用的兴起、云计算、物联网设备的不断增加,软件架构也变得越来越复杂,同时开发效率也越来越低下。
2010年,随着消息队列(Message Queue)的流行,我们看到了消息中间件这个新兴技术的浪潮席卷全球,从而助力企业迅速响应业务变化,实现敏捷开发,缩短交付时间,提升用户体验。与此同时,Apache Software Foundation提出了Apache Kafka项目,并开源了其源代码。
2011年10月,Confluent公司推出了Kafka Connect,这是构建Kafka生态系统的重要一步。它是一个开源项目,提供可扩展的数据迁移工具,能够将不同的数据源的数据转换成Kafka中的消息格式,并把它们导入到其他的消息系统中。2014年5月,Cloudera宣布开源Hadoop、Spark、Hive、Hue等产品,其中包括Cloudera Manager、Cloudera Enterprise Search、C