Skip to content

Kamga-Roland/distributed-systems-evolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed Systems & Communication Protocols: A 10-Project Journey

This repository features a curated collection of 10 hands-on projects demonstrating the evolution of network communication in software architecture. The projects trace a clear learning path from low-level networking primitives to modern, scalable microservice architectures.

🎯 Objective

To practically implement and compare different communication protocols, understanding their specific use cases, performance trade-offs, and integration patterns in distributed systems.

🚀 The Architectural Journey

1. Low-Level Networking (Sockets)

  • Explored foundational networking concepts by implementing raw TCP and UDP communication.
  • Managed byte streams, packet delivery, and basic client-server interactions.

2. High-Performance RPC (gRPC)

  • Transitioned to optimized, high-speed communication using gRPC.
  • Leveraged HTTP/2 for multiplexed streams and Protocol Buffers (Protobuf) for efficient, language-agnostic binary serialization.

3. Modern Microservices (Spring Cloud)

  • Built a fully functional distributed system using Spring Boot.
  • Implemented dynamic service discovery and registration with Netflix Eureka.
  • Streamlined inter-service communication using declarative REST clients (OpenFeign).

4. Containerization & Orchestration

  • Packaged the microservices ecosystem using Docker.
  • Simplified deployment and local orchestration via docker-compose, ensuring consistent environments across machines.

🛠️ Tech Stack & Tools

  • Languages & Frameworks: Java, Spring Boot, Spring Cloud
  • Protocols: TCP, UDP, HTTP/1.1, HTTP/2, gRPC
  • Serialization: Protocol Buffers (Protobuf), JSON
  • Infrastructure: Netflix Eureka, Docker, Docker Compose

Developed by Roland K.

About

This repository documents the architectural evolution from foundational socket programming to modern microservices, providing a hands-on journey from sockets to microservices across 10 distinct projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors