@playtini/beta7
Version:
Microframework for Microservices
31 lines (30 loc) • 1.09 kB
TypeScript
import { SchemaRegistry } from '@playtini/confluent-schema-registry';
import ISchema from '../schemas/ISchema';
import { Kafka, Producer } from 'kafkajs';
import { IBrokerMessage, IServiceBroker } from './index';
import { LoggerService, MetricsService } from '../services';
declare class ServiceBroker {
readonly nodeID: string;
readonly kafkaBrokers: string[];
readonly schemas: {
[key: string]: number;
};
readonly kafka: Kafka;
readonly producer: Producer;
readonly schemaRegistry: SchemaRegistry;
readonly debug: LoggerService;
readonly metrics: MetricsService;
initialized: boolean;
constructor(data: IServiceBroker);
private initSchemaRegistry;
private encodeMessage;
private decodeMessage;
registerSchema(schema: ISchema, options?: any): Promise<void>;
sendMessage(topic: string, messages: IBrokerMessage | IBrokerMessage[]): Promise<void>;
createService({ name, listeners }: {
name: string;
listeners: any;
}): Promise<void>;
start(): Promise<void>;
}
export default ServiceBroker;