当前位置:   article > 正文

kafka测试同一个消费组的多个消费者负载均衡实例(集成spring)_演示在同一个分组中 存在多个不同的消费者

演示在同一个分组中 存在多个不同的消费者

这里使用的是zookeeper和kafka3台机器的集群,这样能保证如过有一台机器炸了还能运行,在集群环境中,要在kafka的 server.properties中配置zookeeper集群地址等信息,消息设置三个分区,这样一个分区由一个机器管,所以当kafka发消息的时候就会发送到每个机器上。

如果是一个机器的话,就算多个分区数,那么日志文件还是会存放到一台机器上,还是能让消息实现分区保存。

虽然说这样依旧能实现多消费者的负载均衡(那所有消费者都是从收到消息的这台机器上拉取消息),但是集群设置有一个特点:容错性;这种情况在这台机器炸了之后就没办法运行了,更别说负载均衡了。

中央配置文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <bean
  7. class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  8. <property name="locations">
  9. <list>
  10. <value>classpath:config.properties</value>
  11. </list>
  12. </property>
  13. </bean>
  14. <import resource="kafka/consumer1.xml"/>
  15. <import resource="kafka/consumer2.xml"/>
  16. <import resource="kafka/producer.xml"/>
  17. </beans>

消费者1:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd">
  6. <!-- 定义consumer的参数 -->
  7. <bean id="consumerFactory1" class="org.springframework.kafka.core.DefaultKafkaConsumerFactor
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/419821
推荐阅读
相关标签
  

闽ICP备14008679号