Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support smooth transition to another topic/records-storage (virtual topics?) #244

Open
lanwen opened this issue Jan 19, 2020 · 0 comments
Open

Comments

@lanwen
Copy link
Collaborator

lanwen commented Jan 19, 2020

Basically, we need a quick way to define a new destination only on liiklus side and get it working without changes on the service side.

Usecase:

  • 20 microservices pointing to one topic
  • GDPR cleanup of that topic with name change and offsets change on the records storage side
  • Or fail of the storage site with recreation from the ground with the different offsets

Need a way to actualize the consumer's targets.

How we deal with it right now:

  • Setup one more liiklus with another db
  • Point dumb consumer to that liiklus and read the new topic
  • Stop reads and replicate in the new db all consumer groups with numbers from the dumb consumer
  • Restart all liiklus instances with the new db
  • Start writes

What idea do I have:

  • Management api with authenticated rest call to fetch the latest offset from the records storage and write to a specific consumer group
  • Somehow map on the records storage side where to get real destination and what are real offsets there (see prev step)

Basically, if someone comes with farmers-v1 group for the events topic, actually treat that as persistent://europe/apples/markets-q1 topic of pulsar. And after the call to that api - next message will come from the persistent://america/fruits/veggies topic with other offsets.

Currently, can see only one option to implement that - combine dynamo and metrics plugins and extend db structure to keep that rewrite info.

Maybe keep not only topic rewrite but the destination of the records as well, in case we want to migrate from kafka to pulsar or vice-versa.

@lanwen lanwen changed the title Support smooth transition to another topic/records-storage Support smooth transition to another topic/records-storage (virtual topics?) Jan 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant