Ana içeriğe geç

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

api (
    [group: 'tr.com.havelsan.framework.logger', name: 'hvl-logger-producer-mq-provider'],
)

Log Producer MQ Provider#

Provider kullanımı için Application Yml'a eklenmesi gerekenler#

hvl:
  logger:
    producer:
      provider:
        mq:
          type: kafka

Provider aynı zamanda kafkaya erişimi aktifleştirdiği için yml dosyası aşağıdaki sayfalarda verildiği gibi konfigüre edilmelidir.

hvl-kafka Altyapısı Kullanımı

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.