kafka组件是否开源?
kafka组件是开源的。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和java语言编写。Kafka是一种高吞吐量的分布式发布-订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。
kafka生产几种方式?
kafka生产消息几种方式
一、发送并忘记
把消息发送给服务器,但并不关心它是否正常到达。大多数情况下,消息会正常到达,因为 Kafka 是高可用的,而且生产者会自动尝试重发。不过,使用这种方式有时候也会丢失一些消息。
二、同步发送
使用 send() 方法发送消息,它会返回一个 Future ,调用 get() 方法进行等待(会返回元数据或者抛出异常),就可以知道消息是否发送成功。
三、异步发送
大多数时候,我们并不需要等待响应——尽管 Kafka会把目标主题、分区信息和消息的偏移量发送回来,但对于发送端的应用程序来说不是必需的。不过在遇到消息发送失败时,我们需要抛出异常、记录错误日志等,这样的情况下可以使用异步发送消息的方式,调用 send() 方法,并指定一个回调函数,服务器在返回响应时调用该函数。
在数据量比较大同时对发送消息的顺序没有严格要求时,可以使用多线程的方式发送数据,实现多线程生产者有两种方式:1. 实例化一个 KafkaProducer 对象运行多个线程共享该对象发送消息;2. 实例化多个 KafkaProducer 对象。
由于 Kafka Producer 是线程安全的,所以多个线程共享一个 Kafka Producer 对象在性能上要好很多。
五、Kafka Producer 常用配置(kafka-1.1.0)
kafka安装jdk要求?
安装JDK后需要设置3个主要环境变量JAVA_HOME:它指向JDK的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索J***A_HOME变量来找到并使用安装好的JDK;
PATH:它的作用是指定命令搜索路径,在命令行下面执行命令如j***ac编译j***a程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。
我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如j***ac/j***a/j***adoc等待,设置好PATH变量后,就可以在任何目录下执行j***ac/j***a等工具了。
它的作用是指定类搜索路径,要使用已经编写好的类,JVM就是通过CLASSPATH来寻找类的。
我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。