分享

kafka的实际项目里面是如何push数据的

通过HTTp协议或者长连接、队列,这几种方式都分别如何将数据放到生产者里面,然后send出去。有没有具体的代码或者方案,求大神帮忙!!!

已有(6)人评论

跳转到指定楼层
desehawk 发表于 2017-5-25 12:44:48
首先说操作方式:
比如openstack有shell操作,rest api操作,有dasboard界面操作。这些其实都是接口。里面的实现都是一样的。
首先数据不是放到生产者,而是有一个类,可以发送topic。topic的本质是一个目录。而这个目录是创建的。同时个人认为topic是生产者和消费者的一个纽带。其实应该也就是所谓的订阅。二者topic是需要是一致的。

那么到底是哪个类实现了生产者: kafka.producer.KeyedMessage; 实现的
比如下面代码:
就已经实现了发送代码
  //Send one message.  
        KeyedMessage<String, String> message =  
                new KeyedMessage<String, String>(TOPIC, CONTENT);  
        producer.send(message);  





回复

使用道具 举报

丹青穆怀 发表于 2017-5-25 15:14:01
desehawk 发表于 2017-5-25 12:44
首先说操作方式:
比如openstack有shell操作,rest api操作,有dasboard界面操作。这些其实都是接口。里面 ...

//Send one message.  
        KeyedMessage<String, String> message =  
                new KeyedMessage<String, String>(TOPIC, CONTENT);  
        producer.send(message);


这个CONTENT里面的数据是怎么放进去的,如果是一个长连接,我这边socket写好怎么把数据放进去。或者是http协议,每次请求,放一次数据?具体代码上怎么实现。
回复

使用道具 举报

desehawk 发表于 2017-5-25 15:19:35
丹青穆怀 发表于 2017-5-25 15:14
//Send one message.  
        KeyedMessage message =  
                new KeyedMessage(TOPIC,  ...

CONTENT可以理解为一个变量。可以是shell输入字符,也可以是字符串等
回复

使用道具 举报

丹青穆怀 发表于 2017-5-25 15:43:41
desehawk 发表于 2017-5-25 15:19
CONTENT可以理解为一个变量。可以是shell输入字符,也可以是字符串等

我不是要概念,概念我也知道,我问的是具体解决问题的方案。
回复

使用道具 举报

langke93 发表于 2017-5-25 16:25:14
本帖最后由 langke93 于 2017-5-25 16:38 编辑
丹青穆怀 发表于 2017-5-25 15:43
我不是要概念,概念我也知道,我问的是具体解决问题的方案。

其实很简单。这里面起作用的是topic.其它普通程序都可以实现的。
比如我们读取文件或则自己产生信息,这些信息放到什么地方,topic。topic其实本质是一个目录
再比如我们如果想把一些数据插入到数据库中。这些数据来自什么地方,topic。这时候这个程序就是消费者。
kafka.jpg

因此生产者和消费者,其实我们只是被它的叫法或则名字给蒙蔽了。
生产者就是我们普通程序读取无论是键盘输入还是文件,然后放到topic中,另外一个程序,从topic中读取数据。
这两个程序,分别称之为生产者和消费者。
回复

使用道具 举报

langke93 发表于 2017-5-25 16:41:04
比如kafka为何能与flume,storm整合。
原因很简单,他们能产生数据,并且给他们配置topic。
那么flume和storm就是生产者。

在上面的基础上,楼主在看看代码,或许有所帮助
Kafka开发环境搭建及代码示例
http://www.aboutyun.com/forum.php?mod=viewthread&tid=15059


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条