@loipv/nestjs-kafka 0.0.3 → 0.0.5-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +105 -0
  2. package/dist/decorators/index.d.ts +1 -0
  3. package/dist/decorators/index.js +3 -1
  4. package/dist/decorators/index.js.map +1 -1
  5. package/dist/decorators/inject-kafka-client.decorator.d.ts +1 -0
  6. package/dist/decorators/inject-kafka-client.decorator.js +9 -0
  7. package/dist/decorators/inject-kafka-client.decorator.js.map +1 -0
  8. package/dist/discovery/consumer-discovery.service.js +5 -1
  9. package/dist/discovery/consumer-discovery.service.js.map +1 -1
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.js +3 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/interfaces/consumer-options.interface.d.ts +2 -0
  14. package/dist/interfaces/kafka-module-options.interface.d.ts +6 -0
  15. package/dist/interfaces/kafka-module-options.interface.js +14 -1
  16. package/dist/interfaces/kafka-module-options.interface.js.map +1 -1
  17. package/dist/kafka.module.d.ts +9 -2
  18. package/dist/kafka.module.js +161 -35
  19. package/dist/kafka.module.js.map +1 -1
  20. package/dist/services/consumer-registry.service.d.ts +5 -4
  21. package/dist/services/consumer-registry.service.js +165 -90
  22. package/dist/services/consumer-registry.service.js.map +1 -1
  23. package/dist/services/kafka-client.service.d.ts +28 -17
  24. package/dist/services/kafka-client.service.js +101 -68
  25. package/dist/services/kafka-client.service.js.map +1 -1
  26. package/dist/services/kafka-core.service.d.ts +11 -9
  27. package/dist/services/kafka-core.service.js +84 -34
  28. package/dist/services/kafka-core.service.js.map +1 -1
  29. package/dist/tsconfig.build.tsbuildinfo +1 -1
  30. package/package.json +1 -1
@@ -25,7 +25,7 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
25
25
  pressureManager;
26
26
  dlqService;
27
27
  logger = new common_1.Logger(ConsumerRegistryService_1.name);
28
- registeredConsumers = new Map();
28
+ consumerGroups = new Map();
29
29
  isShuttingDown = false;
30
30
  constructor(kafkaCore, batchProcessor, idempotencyService, pressureManager, dlqService) {
31
31
  this.kafkaCore = kafkaCore;
@@ -40,36 +40,52 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
40
40
  }
41
41
  }
42
42
  registerConsumer(metadata) {
43
- const { topic, options } = metadata;
44
- const consumerId = `${topic}-${options.groupId || 'default'}`;
45
- const consumer = this.kafkaCore.getKafka().consumer({
46
- groupId: options.groupId || `${topic}-group`,
47
- sessionTimeout: options.sessionTimeout,
48
- heartbeatInterval: options.heartbeatInterval,
49
- rebalanceTimeout: options.rebalanceTimeout,
50
- maxBytesPerPartition: 1048576,
51
- retry: options.retry
52
- ? {
53
- retries: options.retry.retries,
54
- maxRetryTime: options.retry.maxRetryTime,
55
- initialRetryTime: options.retry.initialRetryTime,
56
- factor: options.retry.factor,
57
- multiplier: options.retry.multiplier,
58
- }
59
- : undefined,
60
- });
61
- this.pressureManager.register(consumerId, consumer, {
62
- backPressureThreshold: options.backPressureThreshold || 80,
63
- resumeThreshold: 60,
64
- maxQueueSize: options.maxQueueSize || 1000,
65
- checkIntervalMs: 1000,
66
- });
67
- this.registeredConsumers.set(consumerId, {
68
- metadata,
69
- consumer,
70
- isRunning: false,
71
- });
72
- this.logger.log(`Registered consumer: ${consumerId}`);
43
+ const { topic, connection, options, target, methodName } = metadata;
44
+ const groupId = options.groupId || `${topic}-group`;
45
+ const connectionName = connection || interfaces_1.DEFAULT_KAFKA_CONNECTION;
46
+ const groupKey = `${connectionName}:${groupId}`;
47
+ let group = this.consumerGroups.get(groupKey);
48
+ if (!group) {
49
+ const consumer = this.kafkaCore.getKafka(connectionName).consumer({
50
+ groupId,
51
+ sessionTimeout: options.sessionTimeout,
52
+ heartbeatInterval: options.heartbeatInterval,
53
+ rebalanceTimeout: options.rebalanceTimeout,
54
+ maxBytesPerPartition: 1048576,
55
+ retry: options.retry
56
+ ? {
57
+ retries: options.retry.retries,
58
+ maxRetryTime: options.retry.maxRetryTime,
59
+ initialRetryTime: options.retry.initialRetryTime,
60
+ factor: options.retry.factor,
61
+ multiplier: options.retry.multiplier,
62
+ }
63
+ : undefined,
64
+ });
65
+ group = {
66
+ groupId,
67
+ connection: connectionName,
68
+ consumer,
69
+ topics: new Map(),
70
+ options,
71
+ isRunning: false,
72
+ hasBatchConsumer: false,
73
+ };
74
+ this.consumerGroups.set(groupKey, group);
75
+ this.pressureManager.register(groupKey, consumer, {
76
+ backPressureThreshold: options.backPressureThreshold || 80,
77
+ resumeThreshold: 60,
78
+ maxQueueSize: options.maxQueueSize || 1000,
79
+ checkIntervalMs: 1000,
80
+ });
81
+ this.logger.log(`Created consumer group: ${groupId} (connection: ${connectionName})`);
82
+ }
83
+ if (options.batch) {
84
+ group.hasBatchConsumer = true;
85
+ }
86
+ const handler = target[methodName].bind(target);
87
+ group.topics.set(topic, { metadata, handler });
88
+ this.logger.log(`Registered topic "${topic}" in group "${groupId}" (connection: ${connectionName})`);
73
89
  }
74
90
  buildRestartOnFailure(retry) {
75
91
  if (!retry?.restartOnFailure) {
@@ -81,36 +97,38 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
81
97
  return () => Promise.resolve(retry.restartOnFailure);
82
98
  }
83
99
  async startAll() {
84
- const startPromises = Array.from(this.registeredConsumers.values()).map((registered) => this.startConsumer(registered));
100
+ const startPromises = Array.from(this.consumerGroups.values()).map((group) => this.startConsumerGroup(group));
85
101
  await Promise.all(startPromises);
86
102
  }
87
- async startConsumer(registered) {
88
- const { metadata, consumer } = registered;
89
- const { topic, options } = metadata;
103
+ async startConsumerGroup(group) {
104
+ const { groupId, consumer, topics } = group;
90
105
  try {
91
106
  await consumer.connect();
92
- await consumer.subscribe({
93
- topic,
94
- fromBeginning: options.fromBeginning,
95
- });
96
- if (options.batch) {
97
- await this.startBatchConsumer(registered);
107
+ const topicList = Array.from(topics.keys());
108
+ for (const topic of topicList) {
109
+ const topicHandler = topics.get(topic);
110
+ await consumer.subscribe({
111
+ topic,
112
+ fromBeginning: topicHandler.metadata.options.fromBeginning,
113
+ });
114
+ }
115
+ this.logger.log(`Consumer group "${groupId}" subscribed to topics: ${topicList.join(', ')}`);
116
+ if (group.hasBatchConsumer) {
117
+ await this.startBatchGroupConsumer(group);
98
118
  }
99
119
  else {
100
- await this.startMessageConsumer(registered);
120
+ await this.startMessageGroupConsumer(group);
101
121
  }
102
- registered.isRunning = true;
103
- this.logger.log(`Started consumer for topic: ${topic}`);
122
+ group.isRunning = true;
123
+ this.logger.log(`Started consumer group: ${groupId}`);
104
124
  }
105
125
  catch (error) {
106
- this.logger.error(`Failed to start consumer for topic: ${topic}`, error);
126
+ this.logger.error(`Failed to start consumer group: ${groupId}`, error);
107
127
  throw error;
108
128
  }
109
129
  }
110
- async startMessageConsumer(registered) {
111
- const { metadata, consumer } = registered;
112
- const { topic, options, target, methodName } = metadata;
113
- const handler = target[methodName].bind(target);
130
+ async startMessageGroupConsumer(group) {
131
+ const { consumer, topics, options } = group;
114
132
  const restartOnFailure = this.buildRestartOnFailure(options.retry);
115
133
  await consumer.run({
116
134
  autoCommit: options.autoCommit !== false,
@@ -121,20 +139,27 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
121
139
  eachMessage: async (payload) => {
122
140
  if (this.isShuttingDown)
123
141
  return;
124
- const { message, partition } = payload;
125
- if (options.idempotencyKey) {
126
- if (this.idempotencyService.isProcessed(message, options.idempotencyKey)) {
127
- this.logger.debug('Skipping duplicate message');
142
+ const { topic, message, partition } = payload;
143
+ const topicHandler = topics.get(topic);
144
+ if (!topicHandler) {
145
+ this.logger.warn(`No handler found for topic: ${topic}`);
146
+ return;
147
+ }
148
+ const { metadata, handler } = topicHandler;
149
+ const topicOptions = metadata.options;
150
+ if (topicOptions.idempotencyKey) {
151
+ if (this.idempotencyService.isProcessed(message, topicOptions.idempotencyKey)) {
152
+ this.logger.debug(`Skipping duplicate message from ${topic}`);
128
153
  return;
129
154
  }
130
155
  }
131
156
  try {
132
- const processedMessage = options.deserialize !== false
157
+ const processedMessage = topicOptions.deserialize !== false
133
158
  ? (0, interfaces_1.deserializeMessage)(message, topic, partition)
134
159
  : message;
135
160
  await handler(processedMessage);
136
- if (options.idempotencyKey) {
137
- this.idempotencyService.markProcessed(message, options.idempotencyKey);
161
+ if (topicOptions.idempotencyKey) {
162
+ this.idempotencyService.markProcessed(message, topicOptions.idempotencyKey);
138
163
  }
139
164
  this.dlqService.clearRetryState(message, topic, partition);
140
165
  }
@@ -144,41 +169,91 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
144
169
  },
145
170
  });
146
171
  }
147
- async startBatchConsumer(registered) {
148
- const { metadata, consumer } = registered;
149
- const { options, target, methodName } = metadata;
150
- const handler = target[methodName].bind(target);
172
+ async startBatchGroupConsumer(group) {
173
+ const { consumer, topics, options } = group;
151
174
  const restartOnFailure = this.buildRestartOnFailure(options.retry);
152
- const eachBatchHandler = this.batchProcessor.createEachBatchHandler(options, async (messages, topic, partition) => {
153
- if (this.isShuttingDown)
154
- return;
155
- let processableMessages = messages;
156
- if (options.idempotencyKey) {
157
- processableMessages = this.idempotencyService.filterDuplicates(messages, options.idempotencyKey);
158
- }
159
- const deserializedMessages = options.deserialize !== false
160
- ? processableMessages.map((msg) => (0, interfaces_1.deserializeMessage)(msg, topic, partition))
161
- : processableMessages;
162
- if (options.groupByKey) {
163
- const grouped = this.batchProcessor.groupMessagesByKey(deserializedMessages);
164
- await handler(grouped);
165
- }
166
- else {
167
- await handler(deserializedMessages);
168
- }
169
- if (options.idempotencyKey) {
170
- for (const msg of processableMessages) {
171
- this.idempotencyService.markProcessed(msg, options.idempotencyKey);
172
- }
173
- }
174
- });
175
175
  await consumer.run({
176
176
  autoCommit: false,
177
177
  partitionsConsumedConcurrently: options.partitionsConsumedConcurrently,
178
178
  ...(restartOnFailure && { restartOnFailure }),
179
- eachBatch: eachBatchHandler,
179
+ eachBatch: async (payload) => {
180
+ if (this.isShuttingDown)
181
+ return;
182
+ const { batch } = payload;
183
+ const { topic, partition, messages } = batch;
184
+ const topicHandler = topics.get(topic);
185
+ if (!topicHandler) {
186
+ this.logger.warn(`No handler found for topic: ${topic}`);
187
+ return;
188
+ }
189
+ const { metadata, handler } = topicHandler;
190
+ const topicOptions = metadata.options;
191
+ if (topicOptions.batch) {
192
+ const accumulator = this.batchProcessor.createBatchAccumulator(topicOptions);
193
+ accumulator.onFlush(async (batchMessages) => {
194
+ await this.processBatchMessages(batchMessages, topic, partition, topicOptions, handler);
195
+ });
196
+ for (const message of messages) {
197
+ if (!payload.isRunning() || payload.isStale())
198
+ break;
199
+ await accumulator.add(message);
200
+ payload.resolveOffset(message.offset);
201
+ await payload.heartbeat();
202
+ }
203
+ await accumulator.flush();
204
+ }
205
+ else {
206
+ for (const message of messages) {
207
+ if (!payload.isRunning() || payload.isStale())
208
+ break;
209
+ if (topicOptions.idempotencyKey) {
210
+ if (this.idempotencyService.isProcessed(message, topicOptions.idempotencyKey)) {
211
+ payload.resolveOffset(message.offset);
212
+ await payload.heartbeat();
213
+ continue;
214
+ }
215
+ }
216
+ try {
217
+ const processedMessage = topicOptions.deserialize !== false
218
+ ? (0, interfaces_1.deserializeMessage)(message, topic, partition)
219
+ : message;
220
+ await handler(processedMessage);
221
+ if (topicOptions.idempotencyKey) {
222
+ this.idempotencyService.markProcessed(message, topicOptions.idempotencyKey);
223
+ }
224
+ this.dlqService.clearRetryState(message, topic, partition);
225
+ }
226
+ catch (error) {
227
+ await this.handleError(message, error, metadata, partition);
228
+ }
229
+ payload.resolveOffset(message.offset);
230
+ await payload.heartbeat();
231
+ }
232
+ }
233
+ },
180
234
  });
181
235
  }
236
+ async processBatchMessages(messages, topic, partition, options, handler) {
237
+ let processableMessages = messages;
238
+ if (options.idempotencyKey) {
239
+ processableMessages = this.idempotencyService.filterDuplicates(messages, options.idempotencyKey);
240
+ }
241
+ const deserializedMessages = options.deserialize !== false
242
+ ? processableMessages.map((msg) => (0, interfaces_1.deserializeMessage)(msg, topic, partition))
243
+ : processableMessages;
244
+ if (options.groupByKey) {
245
+ const grouped = this.batchProcessor.groupMessagesByKey(deserializedMessages);
246
+ await handler(grouped);
247
+ }
248
+ else {
249
+ await handler(deserializedMessages);
250
+ }
251
+ if (options.idempotencyKey) {
252
+ for (const msg of processableMessages) {
253
+ this.idempotencyService.markProcessed(msg, options.idempotencyKey);
254
+ }
255
+ }
256
+ }
182
257
  async handleError(message, error, metadata, partition) {
183
258
  const { topic, options } = metadata;
184
259
  this.logger.error(`Error processing message from ${topic}`, error);
@@ -195,20 +270,20 @@ let ConsumerRegistryService = ConsumerRegistryService_1 = class ConsumerRegistry
195
270
  async gracefulShutdown() {
196
271
  this.isShuttingDown = true;
197
272
  this.logger.log('Starting graceful shutdown of consumers...');
198
- const shutdownPromises = Array.from(this.registeredConsumers.values()).map(async (registered) => {
273
+ const shutdownPromises = Array.from(this.consumerGroups.values()).map(async (group) => {
199
274
  try {
200
- if (registered.isRunning) {
201
- await registered.consumer.stop();
202
- await registered.consumer.disconnect();
275
+ if (group.isRunning) {
276
+ await group.consumer.stop();
277
+ await group.consumer.disconnect();
203
278
  }
204
279
  }
205
280
  catch (error) {
206
- this.logger.error('Error during consumer shutdown', error);
281
+ this.logger.error(`Error during consumer group shutdown: ${group.groupId}`, error);
207
282
  }
208
283
  });
209
284
  await Promise.all(shutdownPromises);
210
285
  this.idempotencyService.stopCleanup();
211
- this.logger.log('All consumers shut down gracefully');
286
+ this.logger.log('All consumer groups shut down gracefully');
212
287
  }
213
288
  async onApplicationShutdown() {
214
289
  await this.gracefulShutdown();
@@ -1 +1 @@
1
- {"version":3,"file":"consumer-registry.service.js","sourceRoot":"","sources":["../../lib/services/consumer-registry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumer-registry.service.js","sourceRoot":"","sources":["../../lib/services/consumer-registry.service.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,42 @@
1
- import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
2
- import { KafkaModuleOptions, ProducerMessage, SendOptions } from '../interfaces';
1
+ import { OnApplicationShutdown } from '@nestjs/common';
2
+ import { ProducerMessage, SendOptions } from '../interfaces';
3
3
  import { KafkaCoreService } from './kafka-core.service';
4
- export declare class KafkaClient implements OnModuleInit, OnApplicationShutdown {
5
- private readonly options;
4
+ export interface SendOptionsWithConnection extends SendOptions {
5
+ connection?: string;
6
+ }
7
+ export declare class KafkaClient implements OnApplicationShutdown {
6
8
  private readonly kafkaCore;
7
9
  private readonly logger;
8
- private producer;
9
- private isConnected;
10
- private batchBuffer;
11
- private batchTimer;
10
+ private batchBuffers;
11
+ private batchTimers;
12
12
  private readonly defaultBatchSize;
13
13
  private readonly defaultBatchTimeout;
14
- constructor(options: KafkaModuleOptions, kafkaCore: KafkaCoreService);
15
- onModuleInit(): Promise<void>;
14
+ constructor(kafkaCore: KafkaCoreService);
16
15
  onApplicationShutdown(): Promise<void>;
17
- connect(): Promise<void>;
18
- disconnect(): Promise<void>;
19
- send(topic: string, message: ProducerMessage, options?: SendOptions): Promise<void>;
20
- sendBatch(topic: string, messages: ProducerMessage[], options?: SendOptions): Promise<void>;
16
+ send(topic: string, message: ProducerMessage, options?: SendOptionsWithConnection): Promise<void>;
17
+ sendBatch(topic: string, messages: ProducerMessage[], options?: SendOptionsWithConnection): Promise<void>;
21
18
  sendMultiTopicBatch(topicMessages: Array<{
22
19
  topic: string;
23
20
  messages: ProducerMessage[];
24
- }>, options?: SendOptions): Promise<void>;
25
- sendQueued(topic: string, message: ProducerMessage): Promise<void>;
21
+ }>, options?: SendOptionsWithConnection): Promise<void>;
22
+ sendQueued(topic: string, message: ProducerMessage, connection?: string): Promise<void>;
23
+ forConnection(name: string): ConnectionBoundClient;
24
+ isHealthy(connection?: string): boolean;
26
25
  private serializeMessage;
27
26
  private scheduleBatchFlush;
28
27
  private flushBatch;
28
+ private flushConnectionBatches;
29
29
  private flushAllBatches;
30
- isHealthy(): boolean;
30
+ }
31
+ export declare class ConnectionBoundClient {
32
+ private readonly client;
33
+ private readonly connection;
34
+ constructor(client: KafkaClient, connection: string);
35
+ send(topic: string, message: ProducerMessage, options?: SendOptions): Promise<void>;
36
+ sendBatch(topic: string, messages: ProducerMessage[], options?: SendOptions): Promise<void>;
37
+ sendMultiTopicBatch(topicMessages: Array<{
38
+ topic: string;
39
+ messages: ProducerMessage[];
40
+ }>, options?: SendOptions): Promise<void>;
41
+ sendQueued(topic: string, message: ProducerMessage): Promise<void>;
31
42
  }