21 repositorios
Patterns for decomposing applications into independent, scalable service units.
Distinguishing note: Focuses on the structural decomposition of the platform.
Explore 21 awesome GitHub repositories matching software engineering & architecture · Microservices Architectures. Refine with filters or upvote what's useful.
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
Provides detailed strategies for breaking large monolithic applications into small, loosely coupled business services.
Rocket.Chat is a self-hosted communication platform designed for organizations to maintain full control over their messaging infrastructure and data. It functions as a scalable collaboration suite that supports growing teams by managing consistent configuration cycles across diverse deployment environments. The platform distinguishes itself through a modular architecture that allows for deep customization of enterprise collaboration workflows. It features a sandboxed application engine that enables developers to build and integrate custom tools and plugins within an isolated environment, ensu
Decomposes the platform into independent, scalable services for high-concurrency workloads.
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
Applications are structured as a collection of small autonomous services that implement specific business capabilities within bounded contexts.
Mattermost is a self-hosted, enterprise-grade communication platform designed for organizations that require strict control over their internal data and messaging infrastructure. It functions as a centralized hub for real-time team interaction, offering persistent messaging, voice and video conferencing, and integrated project management tools within a single, private workspace. The platform is built to support high-security environments, including air-gapped deployments where public internet access is restricted or unavailable. The platform distinguishes itself through a focus on regulatory
Separates core services from auxiliary tools to allow independent scaling and deployment across distributed infrastructure.
This project is a comprehensive microservices development framework designed to build scalable, resilient backend systems. It provides a production-ready runtime that integrates stability patterns directly into the service architecture, ensuring consistent performance and reliability for both web and remote procedure call services even under heavy traffic conditions. The framework centers on an interface-first development model, utilizing a domain-specific language to define service contracts that serve as the single source of truth. This approach powers an extensive code generation ecosystem
Provides architectural patterns and structural support for building independent, scalable service-oriented systems.
Harbor is a self-hosted, enterprise-grade container registry platform designed to store, sign, and scan container images and cloud-native artifacts. It provides a centralized repository that integrates directly with Kubernetes environments to manage the full lifecycle of software artifacts, from initial storage to production deployment. The platform distinguishes itself through a focus on security, governance, and multi-site availability. It features a pluggable vulnerability scanning framework that allows for the integration of various security engines, alongside content trust mechanisms tha
Decomposes registry functions into independent, containerized services to ensure modularity and scalability.
Kuboard-press is a visual management interface for Kubernetes clusters that enables the orchestration of workloads and system objects without manual text file editing. It provides a centralized dashboard for importing and monitoring multiple clusters, using a visual interface to manage namespaces and containerized workloads. The project differentiates itself through hierarchical microservices visualization, which maps flat cluster workloads into a layered structure to represent architectural relationships. It also includes dedicated container operation tools for accessing logs, opening intera
Maps flat cluster workloads into a hierarchical layered view to represent the architectural relationship of microservices.
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
Provides architectural patterns for decomposing complex applications into independent, scalable service units.
This project is a guided roadmap for Go backend engineering, providing a structured learning path to master the language and its ecosystem. It serves as an educational outline for progressing from beginner to professional proficiency in software development. The roadmap specifically covers microservices architecture, detailing the implementation of remote procedure calls, message brokers, and distributed tracing. It also functions as a tooling curriculum, identifying industry standard libraries for logging, unit testing, and integration testing. The broader scope encompasses backend engineer
Outlines the architectural patterns and tools necessary for implementing microservices, such as RPCs and message brokers.
FossFLOW is an open source metadata search engine and data platform designed to aggregate and normalize repository information from multiple code hosting services. It functions as a developer productivity utility, enabling users to discover software projects and analyze contributor networks through a unified, searchable index. The platform distinguishes itself by utilizing vector-based semantic search, which converts project descriptions and code metadata into numerical embeddings to facilitate discovery based on conceptual relevance. To maintain a consistent view of disparate data, the syste
Decomposes system functionality into independent, scalable microservices to ensure modular maintenance and high availability.
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
Covers the decomposition of applications into independent, scalable service units to avoid monolithic architectures.
CVAT is an open-source, web-based platform designed for annotating images, videos, and 3D point clouds to create high-quality training datasets for machine learning. It functions as a containerized server that orchestrates the entire lifecycle of computer vision data, from initial task creation and manual labeling to quality assurance and final dataset export. The platform distinguishes itself through deep integration with machine learning models, allowing users to deploy custom AI models as serverless functions for automated object detection, tracking, and skeleton annotation. It supports co
Orchestrates platform components as isolated, scalable services within container environments to ensure consistent deployment.
Mailcow-dockerized is an open-source email hosting platform that provides a complete, self-hosted infrastructure suite. It bundles message transfer, storage, and security protocols into a modular, containerized environment designed for deployment on private infrastructure. The platform distinguishes itself by integrating a centralized management interface for configuring mail domains and user accounts alongside collaborative tools like shared calendars and contact lists. It includes automated security features such as integrated spam and malware filtering gateways, as well as automated certif
Decomposes email infrastructure into discrete, modular services to improve system stability and security.
This project is a Spring Cloud microservices boilerplate and distributed system infrastructure designed to accelerate the development of enterprise Java applications. It provides a reference architecture that combines a Java backend with a decoupled Vue.js frontend framework. The system includes a complete e-commerce reference implementation, featuring a digital storefront with a full shopping workflow and a backend operations platform for business management. It also integrates OAuth 2.0 for identity management, supporting stateless authentication and third-party login services. The infrast
Provides a complete Spring Cloud microservices reference architecture for scalable enterprise Java applications.
Spring Cloud Platform is a management system for orchestrating and monitoring microservices built on the Spring Cloud and Alibaba ecosystems. It serves as a centralized infrastructure for managing distributed service ecosystems. The platform includes a gateway controller for managing backend traffic, rate limiting, and load balancing, alongside a role-based access control system for managing user permissions in multi-tenant applications. It also provides a visualization dashboard for tracking the runtime status and performance metrics of independent service instances. The system covers distr
Provides a distributed backend architecture that decomposes application logic into independent, scalable service units.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Displays components and their connections through a graphical visualization tool.
Este proyecto es un framework de diseño de sistemas distribuidos y guía de arquitectura. Proporciona recursos técnicos para diseñar, desplegar y coordinar servicios de red independientes. El framework establece una metodología estructurada para migrar aplicaciones monolíticas a servicios descentralizados separando las preocupaciones de frontend y backend. Sirve como referencia para la arquitectura basada en eventos, centrándose en mantener la consistencia de los datos a través de los límites de la red utilizando el abastecimiento de eventos y registros de transacciones locales. El proyecto cubre una amplia gama de capacidades, incluyendo comunicación de servicios distribuidos, configuración de descubrimiento de servicios y la implementación de puertas de enlace API. También aborda estrategias de despliegue para alta disponibilidad y el uso de intermediación de mensajes asíncronos para desacoplar servicios.
Provides a comprehensive framework for designing microservices architectures and decomposing applications.
Este proyecto es un curso de entrevistas técnicas y guía de estudio centrado en la ingeniería Java de nivel senior. Proporciona un plan de estudios centrado en el diseño de sistemas, ingeniería de alta concurrencia y la construcción de sistemas distribuidos. Los recursos incluyen una guía de estrategia de bases de datos distribuidas y una referencia de arquitectura de microservicios. Estos materiales cubren patrones de diseño específicos para colas de mensajes, sistemas distribuidos y la implementación de comunicación asíncrona fiable. El contenido abarca áreas de capacidad amplias, incluyendo arquitectura de motores de búsqueda, optimización de caché distribuida y gobernanza de tráfico de servicios. También detalla patrones arquitectónicos como el sharding de bases de datos, la separación de lectura y escritura, el bloqueo distribuido y el descubrimiento de servicios.
Offers a comprehensive reference for microservices architectures, covering traffic governance, distributed transactions, and scalable communication patterns.
This project is a microservices reference architecture and polyglot suite designed as a containerized application demo. It provides a deployable environment that functions as a container orchestration testbed to evaluate the performance and stability of various orchestration tools. The suite implements a polyglot architecture where independent services are written in different languages, each managing its own private database. It utilizes an event-driven distributed system model, employing asynchronous messaging and decoupled data stores to coordinate workflows across separate business domain
Provides graphical representations of microservice relationships and architectural dependencies.
Adrenaline is an AI-powered codebase analysis tool and knowledge base designed for analyzing local software projects. It functions as a technical assistant that enables users to chat with their code, retrieve specific logic, and visualize system architectures using large language models. The project distinguishes itself by converting codebase analysis into visual system architectures and technical workflow diagrams. It utilizes retrieval augmented generation to ground responses in project-specific code snippets and documentation, while integrating real-time web search to supplement local know
Provides graphical representations of codebase relationships and architectural layers to visualize system structure.