init(registry) {
		super.init(registry);

		try {
			ETCD3 = require("etcd3");
		} catch (err) {
			/* istanbul ignore next */
			this.broker.fatal(
				"The 'etcd3' package is missing. Please install it with 'npm install etcd3 --save' command.",
				err,
				true
			);
		}

		this.logger.warn(
			kleur
				.yellow()
				.bold("Etcd3 Discoverer is an EXPERIMENTAL module. Do NOT use it in production!")
		);

		this.instanceHash = this.broker.instanceID.substring(0, 8);

		this.PREFIX = `moleculer${
			this.broker.namespace ? "-" + this.broker.namespace : ""
		}/discovery`;
		this.BEAT_KEY = `${this.PREFIX}/beats/${this.broker.nodeID}/${this.instanceHash}`;
		this.INFO_KEY = `${this.PREFIX}/info/${this.broker.nodeID}`;

		this.client = new ETCD3.Etcd3(this.opts.etcd);

		// create an instance of serializer (default to JSON)
		this.serializer = Serializers.resolve(this.opts.serializer);
		this.serializer.init(this.broker);

		this.logger.debug("Etcd3 Discoverer created. Prefix:", this.PREFIX);
	}
Initialize Discoverer

@param {any} registry

@memberof Etcd3Discoverer