# sofastack/sofa-boot

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/sofastack-sofa-boot).**

5,069 stars · 1,263 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/sofastack/sofa-boot
- Homepage: https://www.sofastack.tech/sofa-boot/docs/Home
- awesome-repositories: https://awesome-repositories.com/repository/sofastack-sofa-boot.md

## Topics

`sofa-boot` `sofa-boot-starter` `sofastack`

## Description

Sofa-boot is a modular Java application framework and Spring Boot extension designed to isolate application modules into separate execution contexts. It provides a JVM service orchestrator for publishing and referencing internal services and an enterprise middleware integration layer for deploying self-contained middleware starters.

The framework prevents bean, configuration, and dependency version conflicts by using independent classloaders and a hierarchical tree of distinct execution contexts. It optimizes enterprise application startup times by loading independent modules in parallel and initializing components asynchronously.

The system includes an application readiness verifier that blocks external network traffic and service registration until all components are fully initialized. It also manages service orchestration by converting internal module communication into remote service calls and decouples middleware and SDK logging streams from primary application logs.

## Tags

### Development Tools & Productivity

- [Classloader Isolation](https://awesome-repositories.com/f/development-tools-productivity/plugin-systems/process-isolated-plugins/plugin-resource-context-isolation/classloader-isolation.md) — Prevents dependency version conflicts by loading separate modules via independent classloaders and a shared index.
- [Module Dependency Declarations](https://awesome-repositories.com/f/development-tools-productivity/external-module-declarations/runtime-module-declarations/module-dependency-declarations.md) — Defines how modules expose capabilities and consume dependencies through explicit service and reference declarations. ([source](https://www.sofastack.tech/posts/2018-07-25-01))

### Software Engineering & Architecture

- [Modular Application Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/modular-application-frameworks.md) — Provides a modular Java framework that isolates application modules into separate execution contexts to prevent bean and classloader conflicts.
- [Hierarchical Contexts](https://awesome-repositories.com/f/software-engineering-architecture/application-contexts/hierarchical-contexts.md) — Organizes application components into a tree of distinct execution contexts to prevent bean and configuration collisions.
- [Enterprise Application Startup Optimization](https://awesome-repositories.com/f/software-engineering-architecture/enterprise-application-startup-optimization.md) — Reduces boot times and ensures service availability through parallel loading and comprehensive readiness checks.
- [Integration Middleware](https://awesome-repositories.com/f/software-engineering-architecture/integration-middleware.md) — Provides a pluggable integration layer for deploying and configuring external middleware services using self-contained starter modules. ([source](https://cdn.jsdelivr.net/gh/sofastack/sofa-boot@master/README.md))
- [Isolated Module Packaging](https://awesome-repositories.com/f/software-engineering-architecture/isolated-module-packaging.md) — Prevents bean conflicts by assigning different modules to separate execution contexts to support modular development. ([source](https://www.sofastack.tech/sofa-boot/docs/Home))
- [JVM Service Orchestrators](https://awesome-repositories.com/f/software-engineering-architecture/jvm-service-orchestrators.md) — Provides a mechanism for publishing and referencing internal JVM services through explicit declarations and annotations.
- [JVM Service Publishing](https://awesome-repositories.com/f/software-engineering-architecture/jvm-service-publishing.md) — Provides a mechanism to expose internal services to other modules via annotations, configuration, or API calls. ([source](https://www.sofastack.tech/en/projects/sofa-boot/quick-start/))
- [JVM Service Referencing](https://awesome-repositories.com/f/software-engineering-architecture/jvm-service-referencing.md) — Enables consuming internal published services through lookups via annotations, configuration files, or API calls. ([source](https://www.sofastack.tech/en/projects/sofa-boot/quick-start/))
- [Microservice Orchestration](https://awesome-repositories.com/f/software-engineering-architecture/microservice-orchestration.md) — Manages how internal application modules publish and consume services using a consistent model for local and remote calls.
- [Parallel Module Initialization](https://awesome-repositories.com/f/software-engineering-architecture/parallel-module-initialization.md) — Reduces startup time by loading independent modules and initializing components asynchronously across multiple threads.
- [Application Context Isolations](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/state-management-architectures/scope-and-hierarchy-management/hierarchical-scopes/scope-selector-configurations/configuration-scope-hierarchies/configuration-context-isolation/application-context-isolations.md) — Prevents configuration conflicts by separating modules into a hierarchical tree of distinct Spring application contexts. ([source](https://cdn.jsdelivr.net/gh/sofastack/sofa-boot@master/README.md))
- [Extension Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/spring-boot-integrations/extension-frameworks.md) — Extends Spring Boot with advanced class isolation, modular dependency management, and parallel startup capabilities.
- [Modular Development](https://awesome-repositories.com/f/software-engineering-architecture/spring-boot-integrations/modular-development.md) — Enables organizing large applications into isolated modules to prevent dependency conflicts and manage complex bean relationships.
- [Pluggable Components](https://awesome-repositories.com/f/software-engineering-architecture/pluggable-components.md) — Provides a unified programming interface to manage middleware components as independent, pluggable modules. ([source](https://www.sofastack.tech/sofa-boot/docs/Home))
- [Proxy-Based Remote Invocation](https://awesome-repositories.com/f/software-engineering-architecture/service-locators/remote-service-invocations/proxy-based-remote-invocation.md) — Uses dynamic proxies to transparently convert local module communication into remote service calls.

### DevOps & Infrastructure

- [Class-Level Dependency Isolations](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/project-management/dependency-isolation/class-level-dependency-isolations.md) — Prevents version conflicts by loading modules through independent classloaders and a shared index table. ([source](https://cdn.jsdelivr.net/gh/sofastack/sofa-boot@master/README.md))
- [JVM Runtime Dependency Isolations](https://awesome-repositories.com/f/devops-infrastructure/deployment-space-isolations/project-isolation-containers/runtime-dependency-isolation/jvm-runtime-dependency-isolations.md) — Prevents library version conflicts by running application modules in separate JVM classloading environments.
- [Service Readiness Checks](https://awesome-repositories.com/f/devops-infrastructure/service-readiness-checks.md) — Blocks external traffic and service registration until a full readiness check confirms all components are initialized.
- [Declarative Remote Service Proxies](https://awesome-repositories.com/f/devops-infrastructure/backend-as-a-service-integrations/declarative-remote-service-proxies.md) — Converts internal module communication into remote service calls using declarative proxies to maintain a consistent model. ([source](https://www.sofastack.tech/posts/2018-07-25-01))

### System Administration & Monitoring

- [Service Readiness Coordination](https://awesome-repositories.com/f/system-administration-monitoring/resource-lifecycle-management/readiness-tracking/service-readiness-coordination.md) — Blocks external traffic and publishing until the application is fully initialized to avoid startup timeouts. ([source](https://cdn.jsdelivr.net/gh/sofastack/sofa-boot@master/README.md))

### Web Development

- [Pluggable Middleware Starters](https://awesome-repositories.com/f/web-development/middleware/pluggable-middleware-starters.md) — Uses self-contained configuration modules to automatically deploy and manage middleware services through a unified interface.
- [Asynchronous Plugin Parallelization](https://awesome-repositories.com/f/web-development/performance-optimizations/computational-parallelization/asynchronous-plugin-parallelization.md) — Reduces initial boot time by loading modules in parallel and initializing components asynchronously. ([source](https://www.sofastack.tech/sofa-boot/docs/Home))
