In today’s tech landscape, distributed systems form the backbone of scalable and reliable applications. This course walks you through the foundational concepts of distributed computing using Java, guiding you from the evolution of system architectures to mastering the intricacies of modern distributed databases. You’ll explore key topics like remote procedure calls (RPCs), asynchronous communication, and cluster coordination to build resilient systems.
Expérience recommandée
Ce que vous apprendrez
Configure and manage distributed databases such as Apache Cassandra and set up resilient RPC communication.
Compare different consensus algorithms, like RAFT, and evaluate the use of service discovery techniques.
Assess the performance of distributed systems, focusing on scalability, fault tolerance, and coordination mechanisms.
Design and implement a fully functional, scalable distributed system using Java, with features like messaging systems and cluster coordination.
Détails à connaître
Ajouter à votre profil LinkedIn
octobre 2024
3 devoirs
Découvrez comment les employés des entreprises prestigieuses maîtrisent des compétences recherchées
Obtenez un certificat professionnel
Ajoutez cette qualification à votre profil LinkedIn ou à votre CV
Partagez-le sur les réseaux sociaux et dans votre évaluation de performance
Il y a 5 modules dans ce cours
In this module, we will explore the fundamental concepts of distributed systems, starting with how computer systems' architecture has evolved over time. We will also cover the unique challenges posed by distributed compounding and introduce a use case that will be central to the course project. Finally, we will guide you through a practical setup for the Tiny-URL project to solidify your learning.
Inclus
4 vidéos1 lecture
In this module, we will dive into the importance of communication within distributed systems, focusing on message transport and communication patterns. You'll learn about traditional load balancers, service registries, and service meshes that help manage distributed services. We'll also cover idempotent service design to ensure fault tolerance. Finally, you'll get hands-on experience configuring resilient Remote Procedure Calls (RPC) and exploring service discovery technologies.
Inclus
8 vidéos
In this module, we will examine the role of distributed databases in modern systems, starting with a comparison between traditional RDBMS systems and NoSQL databases. You'll learn about advanced techniques like data sharding and consistent hashing, along with the implications of the CAP theorem. A brief introduction to Apache Cassandra will set the stage for the hands-on practice, where you'll use Cassandra in the Tiny-URL project to implement a distributed database solution.
Inclus
5 vidéos1 devoir
In this module, we will explore how cluster-wide coordination is crucial for maintaining consistency in distributed systems. You'll learn about the RAFT consensus algorithm and its implementation, along with a brief introduction to ETCD. Key techniques like leader election and distributed mutexes will be covered, and we'll discuss the deployment requirements for strongly consistent systems. Finally, you'll gain hands-on experience by adding cluster coordination to the Tiny-URL project.
Inclus
8 vidéos
In this module, we will explore distributed messaging systems, focusing on asynchronous communication patterns and message-oriented middleware. You'll get an introduction to Apache Kafka and understand how it operates as a distributed system. We'll also cover event-driven architecture and its advantages in distributed systems. In the practice session, you'll gain hands-on experience with distributed messaging systems to enhance the Tiny-URL project.
Inclus
5 vidéos2 devoirs
Instructeur
Offert par
Recommandé si vous êtes intéressé(e) par Cloud Computing
Coursera Project Network
Duke University
Coursera Project Network
Pour quelles raisons les étudiants sur Coursera nous choisissent-ils pour leur carrière ?
Ouvrez de nouvelles portes avec Coursera Plus
Accès illimité à 10,000+ cours de niveau international, projets pratiques et programmes de certification prêts à l'emploi - tous inclus dans votre abonnement.
Faites progresser votre carrière avec un diplôme en ligne
Obtenez un diplôme auprès d’universités de renommée mondiale - 100 % en ligne
Rejoignez plus de 3 400 entreprises mondiales qui ont choisi Coursera pour les affaires
Améliorez les compétences de vos employés pour exceller dans l’économie numérique
Foire Aux Questions
Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.
If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.
Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.