Skip to content

Latest commit

 

History

History

MultiTenancy

Multi-tenancy

NBB provides building blocks for multi-tenant applications.

The package NBB.MultiTenancy.Abstractions provides basic abstractions for working with tenants like the tenant data structure, context, repository or configuration options.

The package NBB.MultiTenancy.Identification provides abstractions for tenant identification from the current context like the incoming HTTP request or the received messaging envelope.

Multi-tenant web applications

The package NBB.MultiTenancy.Identification.Http provides tenant identification strategies from HTTP requests.

The package NBB.MultiTenancy.AspNet provides a messaging host middleware that identifies the tenant, loads the tenant information and sets it on the current tenancy context.

Multi-tenant messaging applications

The NBB messaging infrastructure uses by default the "nbb-tenantID" messaging header to transport the tenant ID between publishers and subscribers. This behavior can be customized if needed.

The package NBB.MultiTenancy.Identification.Messaging provides tenant identification strategies.

The package NBB.Messaging.MultiTenancy provides functionality for message header injection and topic resolution in multi-tenant messaging environments. It also provides a messaging host middleware that identifies the tenant, loads the tenant information and sets it on the current tenancy context.

Multi-tenant data access

The package NBB.Data.EntityFramework.MultiTenancy helps implementing a multi-tenant data access solution using Entity Framework.

Samples

  • Todo Tasks is a sample multi-tenant service containing split across two containers one Web API and one worker. It uses Entyty Framework for data access.