Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 21474|Yanıt: 0

[Kaynak] Spring Boot, Kafka'nın Topic veya GroupId'sini dinamik olarak ayarlar

[Bağlantıyı kopyala]
Yayınlandı 14.11.2021 20:03:45 | | | |
Bir kümede mikroservisler dağıtılırken, tüm uygulamalara komut vermek istersek, uygulamaları Kafka konularına abone edebiliriz, ancak aynı konunun tüm uygulamalar tarafından alınması için farklı grup kimliklerinin ayarlanması gerektiği belirtilmelidir.

Docker ile aşağıdaki komutlarla bir Kafka uygulaması oluşturabilirsiniz:

Not: 192.168.1.166 numarasını gerçek IP adresinizle değiştirin

pom.xml Spring-kafka paketini aşağıdaki gibi tanıtın:


Kafka tüketici yapılandırmasını özelleştirmek için aşağıdaki gibi yeni bir KafkaConsumer dosyası oluşturun:


Varsayılan yapılandırmaya sahip yeni bir tüketici ConfigConsumer oluşturun: topic:defaultTopic,groupid:defaultGroupId ve kod şu şekildedir:

application.properties Kafka adresini yapılandırmak için:


Bir projeye başlamak için, uygulama aboneliği varsayılan yapılandırmadır, aşağıdaki gibidir:



KafkaMessageListenerContainer AbstractMessageListenerContainer soyut sınıfını devralır ve createSimpleLoggingConsumerRebalanceListener yöntemi tüketicinin grupid ve konu bölümünü çıkarır.

2021-11-14 19:44:26.689 INFO 14256 --- [ntainer#0-0-C-1] o.s.k.l.KafkaMessageListenerContainer : defaultGroupId: partitions atandı: [defaultTopic-0]
Konuyu ve grupid dinamik olarak ayarlanır ve proje başlatma komutu şu şekildedir:



Konu a1 olarak ayarlanmış ve grupid itsvse.com

2021-11-14 19:46:25.330 INFO 12256 --- [ntainer#0-0-C-1] o.s.k.l.KafkaMessageListenerContainer : itsvse.com: atanan bölümler: [a1-0]
Spring, jar paketi içindeki varsayılan yapılandırmayı geçersiz kılıyor
https://www.itsvse.com/thread-10129-1-1.html

(Son)





Önceki:MySQL performans optimizasyonu için yavaş sorgular
Önümüzdeki:Spring Boot Kafka eski verileri atmak için yeniden başlatıyor
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com