constructor(registry, broker, opts) {
		super(registry, broker, opts);

		this.opts = _.defaultsDeep(opts, {
			shardKey: null,
			vnodes: 10,
			ringSize: null,
			cacheSize: 1000
		});

		this.cache = new LRU({
			max: this.opts.cacheSize,
			maxAge: null
		});

		this.needRebuild = true;
		this.ring = [];

		broker.localBus.on("$node.**", () => (this.needRebuild = true));
	}
Sharding invocation strategy

Using consistent-hashing. More info: https://www.toptal.com/big-data/consistent-hashing

@class ShardStrategy