Skip navigation links

Package com.couchbase.client.core

Couchbase Core IO - Domain Model and Architecture

See: Description

Package com.couchbase.client.core Description

Couchbase Core IO - Domain Model and Architecture

This documentation describes the domain model of the core package, covers important architecture and design decisions and provides a solid introduction on the inner workings. For more detailed descriptions on the individual components, see the package documentation for the corresponding package.

Domain Model

The domain model of the application is inspired by DDD (Domain Driven Design) and is intended to clearly reflect the domain language of a database client library. There are a few crucial components which need proper definition, so here they are. Afterwards, they are discussed in context:

Here is a simplified diagram that shows the tree-like relations:

Simplified Architecture

Request/Response flow

The actual implementation is a little more complicated since some parts have been left out in the simplified illustration. Especially the RingBuffers play an important role in the architecture. The following diagram shows a more complete picture, explanation afterwards.

Request/Response Flow

Dependencies

Two dependencies are most crucial contributors to the current architecture:

Other runtime dependencies are:

Finally, we use the following dependencies for unit, integration and performance tests:

Since:
1.0
Author:
Michael Nitschinger
Skip navigation links

Copyright © 2016 Couchbase, Inc.. All rights reserved.