连接卡夫卡
从2.5版本开始,这些内容各有所扩展卡夫卡资源工厂.
这允许在运行时通过添加提供商<弦>其配置:setBootstrapServersSupplier(() -> ...).
所有新连接都会调用此程序以获取服务器列表。
消费者和生产者通常寿命较长。
要关闭现有生产者,请致电重置()在默认KafkaProducerFactory.
要关闭现有客户,请致电停止()(然后开始())KafkaListenerEndpointRegistry和/或停止()和开始()在任何其他听众容器的豆子上。
为便于起见,该框架还提供了ABSwitch集群它支持两组引导服务器;其中一个随时都在激活。
配置ABSwitch集群并将其加到生产者和消费工厂中,以及卡夫卡管理员,通过setBootstrapServersSupplier().
想换时,打电话主()或次要()并呼叫重置()对生产工厂建立新联系;对于消费者来说,停止()和开始()所有听众容器。
使用@KafkaListeners,停止()和开始()这KafkaListenerEndpointRegistry豆。
更多信息请参见Java文档。
工厂听众
从2.5版本开始,默认KafkaProducerFactory和DefaultKafkaConsumerFactory可以配置为听者每当生产者或消费者被创建或关闭时,都能收到通知。
interface Listener<K, V> {
default void producerAdded(String id, Producer<K, V> producer) {
}
default void producerRemoved(String id, Producer<K, V> producer) {
}
}
interface Listener<K, V> {
default void consumerAdded(String id, Consumer<K, V> consumer) {
}
default void consumerRemoved(String id, Consumer<K, V> consumer) {
}
}
在每种情况下,身份证是通过附加客户端ID性质(由指标()成立后)送至工厂豆名财产,分隔于..
这些监听器可以用来制作和绑定微米仪KafkaClientMetrics实例化为创建新客户端时的实例(客户端关闭时关闭该客户端)。
该框架提供了恰恰做到这一点的听众;参见微米本地度量。
默认客户端ID前缀
从3.2版本开始,针对使用spring.application.name该名称现已使用。
作为这些客户端类型自动生成客户端ID的默认前缀:
-
不使用消费者组的消费者客户端
-
制作人客户
-
管理客户端
这使得在服务器端更容易识别这些客户端,以便排查故障或应用配额。
| 客户端类型 | 无应用名 | 应用名称 |
|---|---|---|
无消费者的消费者组织 |
消费者-零-1 |
myApp-Consumer-1 |
消费者与消费者组“MyGroup” |
消费者-我的组-1 |
消费者-我的组-1 |
制作人 |
制作人-1 |
myApp-producer-1 |
管理 |
adminclient-1 |
myapp-admin-1 |