A Real-world example for distributed systems.

Madusanka Nipunajith
The Modern Scientist
5 min readJul 13, 2022
Photo by Glenn Carstens-Peters on Unsplash

In my previous article, I described the difference between a distributed system and a centralized system. If you didn’t read it yet, please read that content before coming to read this content. The link to that article is added at the end of this article.

In this article, I will explain a real-world example of a distributed system and its challenges. Hope you are excited to read this article 🥳.

When it comes to the practical side of distributed computing, there are so many systems available in the world. Because the distributed system is more available and scalable than a centralized system. Cricbuzz is a software system that is currently an available and most popular distributed system in the world. Therefore, I have chosen this system out of the distributed system. Before discussing the considerations or difficulties, I would like to describe the system and its functionality.

Cricbuzz Application

Cricbuzz is an Indian cricket news website owned by Times Internet. It features news, articles, and live coverage of cricket matches including videos, text commentary, player stats, and team rankings. Their website also offers a mobile app. You may have also seen live scores, match results, live updates, etc. by using this software.

The Cricbuzz servers are distributed all over the world. Because of that, the software is more reliable than a centralized system. All the nodes (servers) are connected via the network. Hence, they are interconnected. If we want to search match results of countries that are far away from us, we can see the result without downtime. Not only that Cricbuzz system is also maintaining the sharding mechanism to enhance the efficiency (people do not want to wait more time). Let us assume I want to see the score between England and Sri Lanka. when I request a particular service from the system, it can quickly point to the server part that the Eng vs SL scores are carried. Therefore, I do not want to wait till my request proceeds. And also, the system manages replicas as well to enhance their availability. [by today sharding and replication are must in a Large distributed system]

Cricbuzz in App store

The challenges of my chose distributed software (Cricbuzz)

Most problems associated with distributed systems pertain to failures of some kind. These are generally manifestations of the unpredictable, asynchronous, and highly diverse nature of the physical world. In other words, because fault-tolerant distributed systems must contend with the complexity of the physical world, they are inherently complex. Let us discuss some challenges which I encountered in my software.

Distribution transparency

Distribution transparency reflects the extent to which a system appears, rather than being a collection of independent components. In other words: a high degree of transparency will let the system appear to be coherent to its users. As I mentioned before the nodes (servers) of the system are distributed among most countries in the world.

The problem with trying for distributing transparency in a very large system likewise my chosen system is that performance will be degraded to unacceptable levels. Actually, it is obvious. Because being networked, we need to face failures and their recoveries that can never be fully masked. Furthermore, network latencies have a natural lower bound which becomes noticeable when dealing with long-haul connections. These performance problems can be partially tackled through replication, by which components are copied and placed close to where they are needed, but as soon as read-to-update ratios decrease. replication may lead to a scale-down of the system if consistency is needed

Moreover, the CAP principle also describes that we are unable to combine consistency and availability in the presence of network partitions.

Transmission delays

While transmission delays are not necessarily failures, they can certainly lead to failures. Sometimes, you may already know that the situation where a delay can be misconstrued as a lost message. Even though, the system is more available system components (servers) are connected via the network. The network cannot be trusted always. I also have some experience with the Cricbuzz software. Due to the transmission delays, we may get past scores, but we are looking for live scores.

Security challenges

Security is one of the leading concerns in developing dependable distributed systems of today since the integration of different components in a distributed manner creates new security problems and issues. Service-oriented architectures, the Web, grid computing, and virtualization — form the backbone of today’s distributed systems. A lens to security issues in distributed systems is best provided via a deeper exploration of security concerns and solutions in these technologies.

According to my chosen application (Cricbuzz), the general security attacks on the system are eavesdropping (gaining secret information), masquerading (making assumptions about the identity of users), message tempering (changing the content of the message), replaying the message and denial of services (DOS attacks).

Resource management

Now you know the Cricbuzz application is a large distribution system whose servers are spread over the world. Therefore, when it comes to a world cup, there could be more than one or two matches played at the same time on different grounds. Hence, the people who live in the world access or log into the system at the same time to watch their favorite match(es). Because of that Cricbuzz system must manage its resources and balance the huge load. Due to the sharding technique and replications, the system is able to handle it to some extent, but not 100%.

I think you were able to get a better understanding of the distributed systems and as I mentioned above, by using my previous article, you will be able to get more things about distributed systems as well as centralized systems. Thank you. 😃✌️

--

--

Madusanka Nipunajith
The Modern Scientist

Undergraduate at UCSC, Former SAP Team Leader, Former Math Instructor, Former SE (Intern) at WSO2