In a distributed system, network failures are bound to happen. Multiple servers are working together in sync which can be disrupted if one of the servers fails in any way. When we discussed load balancing and leader election, we briefly discussed how the server chooses its leader and how they work periodically with their responsibility. Under leader election, there is a specific server to handle the task of avoiding the clusters from the other servers working on the same problem at once.
We learned the basic concept about it earlier, now we have a term — Heartbeat messaging. It represents those messages that all the servers send the center server at every time interval to let it know that they are functioning well. The heartbeat messaging is a metaphorical representation since the servers tell the central server they are alive.
If there is a case where there is no leader server or the central server, the servers self-select a set of servers and transfer the heartbeat message to those servers. The time interval to send the message is typically set by a few seconds.
This helps the system know if a server is down — it won’t be sending any heartbeat messages for a while.
pragyaasapkota / System-Design-Concepts
Though the concepts of system design might be tricky, let's see them individually to their core concepts and have a better understanding.
System Design
System design defines system elements like modules, architecture, components, and their interfaces and data for a system based on the specified requirements.
This is an index for the concepts of the system.
If you wish to open these in a new tab, Press CTRL+click
S.N. | Table of Content |
---|---|
1. | Caching |
2. | Network Protocols |
3. | Storage: The Underrated Topic |
4. | Latency and Throughput |
5. | System Availability |
6. | Leader Election |
7. | Proxies |
8. | Load Balancing |
9. | Endpoint Protection |
10. | HTTPS: Is it better than HTTP? |
11. | Polling and Streaming |
12. | Long Polling |
13. | Hashing |
14. | CAP Theorem |
15. | PACELC Theorem |
16. | Messaging and Pub-Sub |
17. | Database |
18. | Logging, Monitoring, and Alerting |
19. | Distributed System |
20. | Scaling |
21. | Event Driven Architecture (EDA) |
22. | CQRS |
23. | Message Queue |
24. | Architectural Patterns |
25. | Enterprise Service Bus (ESB) |
26. |
I hope this article was helpful to you.
Please don’t forget to follow me!!!
Any kind of feedback or comment is welcome!!!
Thank you for your time and support!!!!
Keep Reading!! Keep Learning!!!
Top comments (0)