Skip to content

Make routers completely stateless #209

@knazarov

Description

@knazarov

Currently routers need to be configured with the same "configuration tables" as storages, requiring client code to care about topology. This prevents us from writing native vshard clients. If we had native clients, there will be one less network hop (1 instead of 2) and the total throughput will be significantly higher, and CPU utilization will be lower.

In addition to native clients, it will be easier to write dynamically scaled tarantool apps.

In theory, storages currently know everything about cluster topology and can share the knowledge with routers when they first connect and download buckets. It should be enough for the router to have a subset of connection strings (some or all of the storages) to bootstrap itself from there.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions