1. (1)2种。<br /> (2)分区个数、consumer个数发生变化的时候会出现rebalance。<br /> 其中consumer个数发生变化的时候:<br /> configs.put("session.timeout.ms","30000");<br /> configs.put("heartbeat.interval.ms","10000");<br /> 否则会提示:“Commit cannot be completed due to group rebalance”,意思就是当指定的时间内没有提交offset(默认为3秒,heartbeat.interval.ms的时间默认为3秒),<br /> kafka系统认为此group挂掉了,然后进行rebalance操作,为了要避免发生此错误,将heartbeat.interval.ms的时间设置长点,但是不要超过session.timeout.ms时间,<br /> 官方推荐为session.timeout.ms时间的1/3。<br /> <entry key="session.timeout.ms" value="30000"></entry><br /> <entry key="heartbeat.interval.ms" value="10000"></entry>