Confluent 是一家将 Apache Kafka 商业化的基础设施软件公司。
其核心产品 Confluent Platform 是一个全面的流计算平台,能够让用户轻松地访问、存储和管理实时数据流。
Confluent 还提供 Confluent Cloud,这是其完全托管的原生云产品,可在主流云服务商(如 AWS、GCP、Microsoft Azure)上使用。
通过这些产品,Confluent 帮助企业实时处理和集成数据,构建现代的事件驱动型应用程序,成为企业数据的“中枢神经系统”。
发展历史
- 2011 年:Jay Kreps、Neha Narkhede 和饶军在 LinkedIn 担任工程师期间创建了 Apache Kafka。
- 2014 年:他们围绕 Apache Kafka 成立了 Confluent 公司,最初名为 InfiniteM,同年改名为 Confluent。
- 2017 年底:推出 Confluent Platform 的企业级自我管理软件产品的同时,推出了 Confluent Cloud。
- 2019 年:进行 D 轮融资,融资金额达 1.25 亿美元,公司总估值高达 25 亿美元。
- 2021 年:在纳斯达克上市,股票代码为“CFLT”,融资 8.28 亿美元。
Confluent 社区版
Confluent 平台的商业版和社区版有以下区别:
- 社区版:包含 Connectors、Rest Proxy、KSQL、Schema Registry 等基础服务。提供基本的 Kafka 连接功能,可连接常见的数据来源和数据存储;支持通过 REST 接口与 Kafka 交互,方便非 Java 等语言访问;能用类似 SQL 的语法对 Kafka 流数据进行处理和分析;能管理和验证数据模式,确保数据一致性。
- 商业版:在社区版基础上,增加了控制面板、负载均衡、跨中心数据备份、安全防护等高级特性。有可视化的控制面板,方便管理员全面监控和管理 Kafka 集群;可实现负载均衡,提高集群性能和稳定性;支持跨数据中心的数据备份,保障数据的高可用性;提供更高级的安全防护功能,如加密、认证、授权等。
技术支持
- 社区版:依靠社区力量提供支持,用户可在社区论坛、问答平台等交流,获取开源社区的帮助和资源。
- 商业版:Confluent 公司提供专业的技术支持团队,为企业用户提供及时、高效的技术支持,包括故障排除、性能优化等服务,还可根据企业需求提供定制化的解决方案。
适用场景
- 社区版:适合学习、实验和小规模生产环境,数据量小、功能需求不复杂、对技术支持依赖度低的用户和团队。如开发者学习 Kafka 技术、小型企业构建简单的实时数据处理系统。
- 商业版:适用于对数据处理有高要求的企业级场景,如金融、电信等行业的大规模数据处理、关键业务系统的数据集成和流处理,需要高可靠性、高安全性和专业技术支持的场景。
许可与成本
- 社区版:永久免费使用,可自由下载、安装和部署。
- 商业版:面向企业收费,根据使用的功能模块、集群规模、数据量等因素定价。
与 Kafka 的关系
Confluent 社区版是 Apache Kafka 的一个专业发行版,它增加了许多额外的功能和 API。
- 技术基础:Confluent 以 Apache Kafka 为核心和技术基础进行开发。
Apache Kafka 是一个开源的分布式流处理平台,提供了高吞吐量、低延迟的消息传递和流处理能力。
Confluent 在 Kafka 的基础上进行了功能扩展和优化。 - 功能扩展:Confluent Kafka 可以看作是 Kafka 的一个专业发行版,它增加了许多额外的功能和 API。
比如 Schema Registry 用于管理数据模式,Rest Proxy 方便与非 Kafka 支持的语言进行交互,还有预构建的 Kafka 连接器和 KSQLDB 等。 - 商业支持:Confluent 公司为 Kafka 提供了商业支持和服务,使企业能够更方便地在生产环境中使用 Kafka。
Confluent 通过提供培训、技术支持、咨询等服务,帮助企业解决在使用 Kafka 过程中遇到的问题,降低企业的使用成本和风险。
安装
1. 准备工作
确保你的系统已经安装了 Java(Kafka 依赖 Java 运行环境),并且具备基本的网络连接和权限。
# 检查是否安装了Java
java -version
# 如果未安装Java,可使用以下命令安装OpenJDK 11
sudo apt update
sudo apt install openjdk-11-jdk -y
2. 下载 Confluent 社区版
访问 Confluent 官方下载页面(https://www.confluent.io/download/ ),获取社区版的下载链接。也可以使用以下命令直接下载最新版本:
wget https://packages.confluent.io/archive/7.5/confluent-community-7.5.0.tar.gz
3. 解压文件
# 解压下载的文件
tar -xzf confluent-community-7.5.0.tar.gz
# 进入解压后的目录
cd confluent-7.5.0
4. 配置环境变量(可选但推荐)
为了方便在任意目录下使用 Confluent 命令,你可以将 Confluent 的bin
目录添加到系统的PATH
环境变量中。
# 编辑~/.bashrc文件
nano ~/.bashrc
# 在文件末尾添加以下内容
export PATH=$PATH:/path/to/confluent-7.5.0/bin
# 使配置生效
source ~/.bashrc
5. 启动 Confluent 服务
Confluent 依赖多个组件,如 Zookeeper、Kafka、Schema Registry 等,你可以使用confluent local
命令来管理这些服务。
# 启动所有Confluent服务
confluent local services start
6. 验证安装
可以通过创建一个简单的 Kafka 主题和发送消息来验证 Confluent 是否安装成功。
# 创建一个名为test_topic的Kafka主题
kafka-topics --create --topic test_topic --bootstrap-server localhost:9092
# 启动一个生产者,向test_topic主题发送消息
kafka-console-producer --topic test_topic --bootstrap-server localhost:9092
# 在另一个终端窗口中,启动一个消费者,接收test_topic主题的消息
kafka-console-consumer --topic test_topic --from-beginning --bootstrap-server localhost:9092
7. 停止 Confluent 服务
当你不需要使用 Confluent 服务时,可以使用以下命令停止所有服务:
confluent local services stop
通过以上步骤,你就可以在 Ubuntu 系统上成功安装并使用 Confluent 社区版了。