Kafka发布订阅举例

摘要

kafka的发布订阅模式本人认为可以通过两种示例来表达:
(1)在微服务内部实现发布,在需要实用信息的微服务组件 订阅。这个方法实现较好的实现各个服务之间的解耦。
(2)单独做成一个微服务,暴露出一个发布的接口,当每个微服务有发布需求的时候直接调用这个发布接口就好。但是这就使得运维成本加大,不过服务使用方便,最关键的是开发人员在发布消息的时候需要编写的代码较少,能较好的保证编译通过。

第一种模式

1、配置

1.1 pom依赖

<dependency>

 <groupId>org.apache.kafka</groupId>

 <artifactId>kafka_2.13</artifactId>

 <version>2.4.1</version>

</dependency>

<dependency>

 <groupId>org.apache.kafka</groupId>

 <artifactId>kafka_2.11</artifactId>

 <version>0.8.2.1</version>

 <exclusions>

  <exclusion>

   <groupId>org.slf4j</groupId>

   <artifactId>slf4j-log4j12</artifactId>

  </exclusion>

 </exclusions>

</dependency>

<dependency>

 <groupId>org.apache.kafka</groupId>

 <artifactId>kafka-clients</artifactId>

 <version>2.4.1</version>

 <scope>compile</scope>

</dependency>

1.2 yml配置

kafka:
  servers: ${
   kafka-address}
  consumer:
    auto:
      commit:
        interval:
          ms: 100
    bootstrap:
      servers: ${
   kafka-address}
    enable:
      auto:
        commit: true
    group:
      id: xxxB
    key:
      deserializer: org.apache.kafka.common.serialization.StringDeserializer
    maxPollRecords: 10000
    session:
      timeout:
        ms: 30000
    value:
      deserializer: org.apache.kafka.common.serialization.StringDeserializer
  producer:
    acks: all
    batch:
      size: 4096
    bootstrap:
      servers: ${
   kafka-address}
    buffer:
      memory: 40960
    defaultTopic: Detail
    key:
      serializer: org.apache.kafka.common.serialization.StringSerializer
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值