After many discussions, a draft of the specifications for proxying and autosharing in Tarantool / Box was created.
The general idea is that in order to hide the presence of sharding from the user, a proxy is raised on the local application host (PHP / Perl / etc), which already routes requests for shards, and knows how to find the necessary key in the case of resarding.
Resharding itself is already done with the help of Lua on the shards themselves, while the proxy transfers the hottest keys to new shards when accessing them, which should reduce the load on the system during resharing.
The full specification is on the
github wiki .
It would be extremely useful to discuss the specification for potential problems, unrecorded situations, ease of use, before implementing it.