3.4.2. Log Producer MQ Provider#
Transactional uygulamalarda transactional bütünlüğü sağlamak ve uygulamanın hızını artırmak için outbox pattern kullanılabilir. Bu patternde veriyi üreten kaynak kafka üzerine transactional biçimde veriyi yazar.
Logları sisteme göndermek için kullanılacak MQ (Messaging Queue) sağlayıcı altyapısıdır. Mevcut durumda kafka desteği sağlanmaktadır. Bu altyapı kullanılarak logların MQ sistemine gönderimi sağlanmaktadır.
Bağımlılıklar#
Gradle Dependencies
Log Producer MQ Provider#
Provider kullanımı için Application Yml'a eklenmesi gerekenler#
Provider aynı zamanda kafkaya erişimi aktifleştirdiği için yml dosyası aşağıdaki sayfalarda verildiği gibi konfigüre edilmelidir.
hvl-infra üzerinden Config Server kullanıldığı durumlarda bootstrap.yml dosyasındaki spring.cloud.config.profile pathine hvl-logger değerinin eklenmesi gerekmektedir. Böylece yukarıdaki özelliklerin ve daha fazlasının olduğu application-hvl-logger.yml dosyası projeye dahil olacaktır.
Log Producer MQ Provider Kullanımı#
MQ Provider'ın sağladığı sınıfların aktif hale gelmesi için aşağıdaki anotasyon konfigürasyon sınıfına eklenmelidir.
@HvlEnableLogProducerMQProvider
Örnek:
@Configuration
@HvlEnableLogProducerMQProvider
public class MyConfiguration extends HvlBaseConfiguration {
}
Sonrasında HvlLogProducerMQProvider
sınıfı inject edilerek kullanılabilir.