Kolejki
Proponujemy aby dla każdej kolejki z której konsumowane są wiadomości powstała nowa kolejka (shadow) dla tego samego exchange'a. Komunikaty będą emitowane na obie kolejki i ta druga będzie mogła służyć do audytu/weryfikacji (do rozważanie jest ustawienie odpowiedniego TTL na kolejce shadow).
Przykład dla zgód
Została dodana nowa kolejka streaming consents_queue2 dla tego samego exchange'a. Prośba o sprawdzenie na aplikacji konsumującej wiadomości z streaming: consents_queue i porównanie wiadomości poniżej.
Zapytanie zwracające listę wyemitowanych wiadomości z logów Mongo
dla danego dnia: <collectionName>
i usera (po externalUserId): <userId>
1db.getCollection('<collectionName>').find( 2{ 3"machine.entryAssembly":"Psd2Hub.Services.PushService.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", 4"message":{$regex:/(EmitAccounts |EmitConsent |EmitTransactions )mediatr response/i}, 5"executionData.externalUserId":"<userId>" 6},{ 7"date":1, 8"userId":"$executionData.externalUserId", 9"message":1 10} 11).sort({date:-1})
W odpowiedzi otrzymywany jest timestamp oraz typ komunikatu
EmitAccounts - zmiana na poziomie rachunku
EmitConsent - zmiana na poziomie zgody
EmitTransactions - zmiana na poziomie transakcji