Skip to content

shibbirmcc/system-design-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

system-design-demo

ApplianceStatusStore : Application that stores Appliance Connectivity status in the database.

Appliance : Application that represents an Appliance which sends ping requests to the ApplianceStatusStore ping REST EndPoint

Deployment Architecture

Alt text

To Support high transactions from high number of Appliances, a load balancer can be deployed to distribute the traffic between multiple ApplianceStatusStore applications.

Improvements

Alt text

Deploying a Key-value store like Etcd or Redis can improve db operation. Especially Redis could perform better since it is an In memory Database. All the ping requests from the Appliance can be stored in the Key-Value store and then the appliance status can be updated with a background job from the ApplianceStatusStore

Alternate Solution

Alt text

An alternate solution could be to design the system using Publish Subscribe pattern where Appliance act as a publisher and publishes ping request to a specific topic in the Broker and then the Subscriber applications can read the request and update Appliance status. In this case ApplianceStatusStore will only need one REST Endpoint just to server the Appliance details to whoever request for them.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published