-
Notifications
You must be signed in to change notification settings - Fork 33
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
doc: Example use cases #874
Conversation
|
||
## TODO C |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good if we have something more, but I'm out of ideas right now. Previously I had an idea of an online auction system but not sure if's good or adding any value compared to the others?
Let’s say we have a world-wide online auction system. The system is running in 20 regions. There are many many active auctions in total, but all are not active in all regions. Users connect to the closest region. Some information about the auctions are replicated to all regions, such as the list and summary status of active auctions. Replicating all bids and comments for all auctions to all regions would be wasteful. When a user shows interest in a specific auction, such as placing a bid or asking a question, the event log for that auction is replicated to the region of the user. After inactivity in a region for a specific auction the event replication is stopped.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find the idea of having an entity that 'hibernates' when not in use in a given region really interesting.
On the other hand, I found the shopping cart use case somewhat artificial. I would try something more realistic.
What about a game scoreboard? We can have many players around the world. Scores are collected per region and eventually merged?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can absolutely add more than 2 examples. Something with an online collaborate game might be good, but I think it must involve something more than just scoreboard aggregation.
Scores are collected per region and eventually merged
That kind of aggregation is pretty similar to the Car telemetry aggregation in the first use case.
The Car aggregation would be a case for Projections over gRPC (service-to-service), while the shopping cart is for the Replicated Event Sourcing (active-active).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That kind of aggregation is pretty similar to the Car telemetry aggregation in the first use case.
Yes, that's true.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two are good. I think the auction could be good enough as well.
## TODO B | ||
A car company collects and aggregates telemetry data from millions of cars around the world. A car reports its status | ||
every third second to a backend service. The cars are connected to a nearby cloud region for low-latency and high | ||
availability reasons. All telemetry data is feed into an analytics system to find anomalies and gather statistics, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
availability reasons. All telemetry data is feed into an analytics system to find anomalies and gather statistics, | |
availability reasons. All telemetry data is fed into an analytics system to find anomalies and gather statistics, |
|
||
## TODO C |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find the idea of having an entity that 'hibernates' when not in use in a given region really interesting.
On the other hand, I found the shopping cart use case somewhat artificial. I would try something more realistic.
What about a game scoreboard? We can have many players around the world. Scores are collected per region and eventually merged?
Ok, at this stage more is probably good. Might inspire to other ideas and we can pick the best later if too much. Added in 43e4cae |
After inactivity in a region for a specific auction the replication is stopped. | ||
|
||
## Low cost Microservices |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I aslo added this one as something that is not requiring world wide business.
No description provided.