У меня есть архитектура CQRS на основе событий, размещенная в kubernetes. У меня есть один писатель («служба денормализатора»), который слушает события и записывает денормализованные представления в хранилище данных. Эти представления затем обслуживаются отдельной службой просмотра. Когда образ денормализатора обновляется посредством развертывания с новыми проекциями, он воспроизводит все события с самого начала и записывает новые представления в другое хранилище данных.
Итак, мне нужно 2 экземпляра денормализатора, один со старым кодом, а другой - для воспроизведения событий через новый код. Когда новый код завершит воспроизведение, мне нужно:
1) подать сигнал в службу просмотра, чтобы переключиться на новое записанное хранилище данных, а затем,
2) сломать старое развертывание денормализатора, так как оно больше не требуется.
Проблема в том, что (насколько мне известно) kubernetes кажется плохо подготовленным для того, чтобы справиться с этим сценарием.
Есть идеи, как мне сделать что-то подобное?