|
对于最新稳定版本,请使用 Spring for Apache Kafka 4.0.0! |
连接卡夫卡
从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 |