springkakfa如何集成

小编给大家分享一下spring kakfa如何集成,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

为企业提供成都网站设计、网站制作、外贸营销网站建设、网站优化、成都全网营销推广、竞价托管、品牌运营等营销获客服务。创新互联建站拥有网络营销运营团队,以丰富的互联网营销经验助力企业精准获客,真正落地解决中小企业营销获客难题,做到“让获客更简单”。自创立至今,成功用技术实力解决了企业“网站建设、网络品牌塑造、网络营销”三大难题,同时降低了营销成本,提高了有效客户转化率,获得了众多企业客户的高度认可!

一、生产端

1.1 kafka-producer.xml配置说明



    
        
            classpath:/properties/kafka-producer.properties
        
    
    


    
        
             //kafka服务集群
             //分组
             //重试次数
             //批量数量
            
            
            
            
        
    




    




    
    
     //topic名称



    

1.2 kafka-producer.properties属性文件

bootstrap.servers=192.168.0.75:9092,192.168.0.75:9093,192.168.0.75:9094
group.id=testGroup
retries=1
batch.size=16384
linger.ms=1
buffer.memory=33554432
defaultTopic=topic-test

1.3 生产端接口封装说明:

1)类名:
com.rkhd.ienterprise.kafka.producer.KafkaProducerServer

2)方法:

/**
 * 发送信息(不分区)
 * @param data 要发送的数据
 * @return 返回一个map。如果成功code为0,其他则为失败
 */
public Map sendDefault(Object data);
/**
 * 发送信息(不分区)
 * @param key 要发送的键
 * @param data 要发送的数据
 * @return 返回一个map。如果成功code为0,其他则为失败
 */
public Map sendDefault(Object key, Object data);
/**
 * 发送信息(分区)
 * @param partitionNum 分区数(大于1),请注意分区数是在topic创建的时候就指定了,不能改变了
 * @param key 要发送的键
 * @param data 要发送的数据
 * @return 返回一个map。如果成功code为0,其他则为失败
 */
public Map sendDefault(int partitionNum, Object key, Object data);
/**
 * 发送信息(不分区)
 * @param topic 发送目的topic名称,如果topic为null或者是为"",则会使用xml中配置的defaultTopic
 * @param data 要发送的数据
 * @return 返回一个map。如果成功code为0,其他则为失败
 */
public Map sendMessage(String topic, Object data);
/**
 * 发送信息(不分区)
 * @param topic 发送目的topic名称,如果topic为null或者是为"",则会使用xml中配置的defaultTopic
 * @param key 要发送的键
 * @param data 要发送的数据
 * @return 返回一个map。如果成功code为0,其他则为失败
 * */
public Map sendMessage(String topic, Object key, Object data);
/**
 * 发送信息(分区)
 * @param topic 发送目的topic名称,如果topic为null或者是为"",则会使用xml中配置的defaultTopic
 * @param partitionNum 分区数(大于1),请注意分区数是在topic创建的时候就指定了,不能改变了
 * @param data 要发送的数据
 * @return 返回一个map。如果成功code为0,其他则为失败
 */
public Map sendMessage(String topic, Integer partitionNum, Object data);
/**
 * 发送信息(分区)
 * @param topic 发送目的topic名称,如果topic为null或者是为"",则会使用xml中配置的defaultTopic
 * @param key 要发送的键
 * @param value 要发送的数据
 * @param partitionNum 分区数(大于1),请注意分区数是在topic创建的时候就指定了,不能改变了
 * @return 返回一个map。如果成功code为0,其他则为失败
 * */
public Map sendMessage(String topic, int partitionNum, Object key, Object value);

二、消费端

2.1 kafka-consumer.xml配置说明



    
        
             //kafka服务集群
             //分组
             //是否自动提交
             //自动提交间隔时间
             //session过期时间
            
            
        
    




    
        
    







    
    
    
 



    
    
     //配置消费端数量

2.2 kafka-consumer.properties属性文件

bootstrap.servers=192.168.0.75:9092,192.168.0.75:9093,192.168.0.75:9094
group.id=testGroup
enable.auto.commit=false
auto.commit.interval.ms=1000
session.timeout.ms=15000
topicName=ahao-test

2.3 消费端接口封装说明

1)类名:com.rkhd.ienterprise.mq.client.consumer.client.KafkaConsumerClient

2)对外提供抽象方法(根据不同的业务实现):

public abstract void onConsumer(ConsumerRecord record);

3)实现说明:各业务线通过继承该类实现该抽象方法;

三、Kafka技术概览

3.1 Kafka的特性

  • 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒

  • 可扩展性:kafka集群支持热扩展

  • 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失

  • 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)

  • 高并发:支持数千个客户端同时读写

3.2 Kafka架构组件

       Kafka中发布订阅的对象是topic。我们可以为每类数据创建一个topic,把向topic发布消息的客户端称作producer,从topic订阅消息的客户端称作consumer。Producers和                consumers可以同时从多个topic读写数据。一个kafka集群由一个或多个broker服务器组成,它负责持久化和备份具体的kafka消息。

  • topic:消息存放的目录即主题

  • Producer:生产消息到topic的一方

  • Consumer:订阅topic消费消息的一方

  • Broker:Kafka的服务实例就是一个broker

spring kakfa如何集成

3.3  kafka 应用场景

  • 日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。

  • 消息系统:解耦和生产者和消费者、缓存消息等。

  • 用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。

  • 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。

  • 流式处理:比如spark streaming和storm

  • 事件源

以上是“spring kakfa如何集成”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


文章名称:springkakfa如何集成
标题来源:http://hbruida.cn/article/pgijpg.html