I'm designing a microservice environment in which most of the communication between services has to be in such a way that when a subscribing service request for data then the publishing service first returns a snapshot of what it holds. It then continues to publish new updates to the subscriber.
For each publisher there could be more than 100 subscriber and it won't be ideal to maintain different connection for each client separately. In effect, the snapshot is very request/response based and updates are streaming but the data streamed is tightly coupled to the snapshot(can be called as initial snapshot) and should follow the snapshot.
Example Say for an entity A there are version 100 101 102 103
If client gets 101 as response then it should get updates for 102 and 103 but not 100. The publisher service also supports CRUD operation on the data it hold which adds to the complexity.
Are there any identified design pattern to design such a service ?
Aucun commentaire:
Enregistrer un commentaire