ChangeStreams не следует сравнивать с технологиями Pub / Sub - ChangeStreams предоставляют безопасный способ обеспечить возможность сбора и изменения событий изменения данных (в реальном времени) и их обработки (и, как вы правильно заметили, ранее вам приходилосьзавершить оплог в MongoDB, чтобы достичь аналогичного результата, который имел свой собственный набор проблем, рисков и сложностей, которые облагали налогом разработчика).
Как я уже упоминал выше, ChangeStreams обеспечивают безопасный способ просмотра каждой информацииизменить событие, происходящее в MongoDB, применить фильтр к этим событиям, а затем обработать каждое соответствующее событие.ChangeStreams позволяют вам воспроизводить предыдущие события на основе периода времени, который покрывает ваш оплог - например, если ваше приложение, реализующее ChangeStreams, терпит неудачу, у вас есть возможность забрать информацию с момента сбоя приложения.
ПокаChangeStreams демонстрируют поведение, подобное Pub / Sub, с точки зрения идентификации / обработки событий, где сходство прекращается.Типичным / распространенным случаем использования, когда вы заинтересованы в захвате / идентификации событий изменения данных в MongoDB для последующей обработки, является создание Kafka Producer, который использует драйвер MongoDB, создает экземпляр ChangeStream и для каждого соответствующего события, происходящего в MongoDB (становится доступным через ChangeStream) передает его на Kafka.