Build Services.
Not Infrastructure.
BSB is an event-driven microservices framework with a pluggable architecture. Write your business logic. We handle the rest.
export class Plugin extends BSBService {
async init(trace) {
// Register listener - trace comes from caller
await this.events.onReturnableEvent("user.validate",
async (callerTrace, data) => ({ valid: true })
);
}
}
Your Learning Path
Whether you're building your first service or extending the framework itself, we've got you covered.
Understand BSB
Learn the core concepts: event-driven architecture, the plugin system, and how BSB orchestrates your services.
Read the OverviewBuild Services
Create your first service plugin. Handle events, define configurations, and integrate with other services.
Start BuildingExtend BSB
Build custom plugins for events (RabbitMQ, Kafka), logging (Graylog, Datadog), configuration, and more.
Extend the FrameworkCore Plugins
Explore the built-in plugins that power BSB: default event bus, console logging, YAML config, and metrics.
View Core PluginsWhy BSB?
Event-Driven by Default
Every service communicates through a typed event bus. Fire-and-forget, request-response, or broadcast - you choose the pattern.
Pluggable Everything
Swap RabbitMQ for Kafka. Switch console logs to Graylog. Change YAML config to Consul. Zero code changes.
Type-Safe Events
Define event schemas once. Get autocomplete, validation, and type checking across all your services.
Container-First
Designed for Docker and Kubernetes. Mount plugins at runtime. No rebuilds for configuration changes.
Multi-Language
Node.js today. Go, Python, C#, and more coming. Same event contracts across all implementations.
Production Ready
Built-in metrics, distributed tracing, graceful shutdown, and health checks. Battle-tested in production.
Choose Your Language
BSB supports multiple languages with consistent APIs and cross-language event compatibility.
Built-in Core Plugins
BSB ships with sensible defaults. These core plugins are part of the framework and ready to use.