开发者社区> 问答> 正文

Kafka 消息接入是如何做到的?



接入说明


  1. 使用 Kafka 消息服务之前,先在 MQ 控制台上申请资源,否则将无法通过鉴权认证,以及相关的运维功能。具体步骤如下:申请 Topic 资源,消息类型选择 Kafka 消息;
  2. 申请 Consumer ID。

Kafka服务端版本是0.10.1,Client版本建议0.10及以上。
建议查看各个客户端的 开源 Demo 访问地址,使用之前请仔细阅读 README.md。
目前客户端 Demo 包括 Java, Python, Go, PHP, NodeJs, C++, Logstash, SpringCloud,其它客户端暂时请参照已有 Demo 自行调试,后续会陆续完善。
欢迎加钉钉群咨询,用钉钉扫描群二维码。

访问域名

Region域名
公网kafka-ons-internet.aliyun.com:8080
华东1kafka-cn-hangzhou.aliyun.com:8080
华北2kafka-cn-beijing.aliyun.com:8080
华东2kafka-cn-shanghai.aliyun.com:8080
华南1kafka-cn-shenzhen.aliyun.com:8080

下面以 Java 语言为例,详细说明接入过程。

MQ-Kafka Java Demo


下载连接
1、Maven 依赖配置
  1. <dependency>
  2.        <groupId>org.apache.kafka</groupId>
  3.        <artifactId>kafka-clients</artifactId>
  4.        <version>0.10.1.0</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.aliyun.openservices</groupId>
  8.       <artifactId>ons-sasl-client</artifactId>
  9.       <version>0.1</version>
  10. </dependency>

2、配置 AccessKey,SecretKey。
MQ-Kafka 利用服务账号 AccessKey,SecretKey 对消息通道进行鉴权。创建文本文件 kafka_client_jaas.conf,内容如下:
  1. KafkaClient {
  2.    com.aliyun.openservices.ons.sasl.client.OnsLoginModule required
  3.    AccessKey="***"
  4.    SecretKey="***";
  5. };

注意:把***替换为服务账号的 AccessKey,SecretKey。
3、设置 kafka_client_jaas.conf 的路径:
有两种办法进行设置(这里假设kafka_client_jaas.conf放在/home/admin下面,实际部署时请注意修改为自己的路径):
程序启动时,启动 JVM 参数:
  1. -Djava.security.auth.login.config=/home/admin/kafka_client_jaas.conf

或者在代码中设置参数(需要保证在 Kafka Producer 和 Consumer 启动之前):
  1. System.setProperty("java.security.auth.login.config", “/home/admin/kafka_client_jaas.conf");

4、下载根证书
下载地址
下载后放入某个目录下,这里假设为”/home/admin”
5、主要参数配置
参数
bootstrap.servers请根据 region 进行选择
ssl.truststore.location/home/admin/kafka.client.truststore.jks(请注意修改为自己的路径)
ssl.truststore.passwordKafkaOnsClient
security.protocolSASL_SSL
sasl.mechanismONS

Kafka 其它参数遵照 Kafka 官网说明。
6、 执行运行语句:
sh run_demo.sh -Dkafka.ons.TOPIC=kafka-test
注意:请将 Topic 更改为申请的 Topic。
7、查看执行结果:
produce ok:kafka-test-*
看到类似以上结果表示 Demo 运行成功。

展开
收起
猫饭先生 2017-10-27 10:28:28 3622 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载