constructor(broker) {
		this.broker = broker;
		this.metrics = broker.metrics;
		this.logger = broker.getLogger("registry");

		this.opts = Object.assign({}, broker.options.registry);

		this.StrategyFactory = Strategies.resolve(this.opts.strategy);
		this.logger.info(`Strategy: ${this.StrategyFactory.name}`);

		this.discoverer = Discoverers.resolve(this.opts.discoverer);
		this.logger.info(`Discoverer: ${this.broker.getConstructorName(this.discoverer)}`);

		this.localNodeInfoInvalidated = true;

		this.nodes = new NodeCatalog(this, broker);
		this.services = new ServiceCatalog(this, broker);
		this.actions = new ActionCatalog(this, broker, this.StrategyFactory);
		this.events = new EventCatalog(this, broker, this.StrategyFactory);

		this.registerMoleculerMetrics();
		this.updateMetrics();
	}
Creates an instance of Registry.

@param {any} broker
@memberof Registry