Какой паттерн используется для обеспечения надёжной доставки событий в микросервисной архитектуре, даже если транзакция в базе данных завершается неудачно?