Skip to content

Commit 10d7887

Browse files
refactor(docker-compose): add container names and dependencies for services
- Added container names for Redis, Zookeeper, and Kafka services for better identification. - Updated Kafka service to depend on Zookeeper to ensure proper startup order. - Cleaned up network definitions for clarity. - Refactored Kafka consumer variable names for improved readability.
1 parent 8601e0f commit 10d7887

File tree

3 files changed

+22
-16
lines changed

3 files changed

+22
-16
lines changed

backend/matching-service/src/config/kafka.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ export class KafkaManager {
1111
private kafka: Kafka;
1212
private admin: Admin;
1313
private producer: Producer;
14-
private consumer: Consumer;
15-
private consumer2: Consumer;
14+
private consumer_of_question_topic: Consumer;
15+
private consumer_of_room_created_topic: Consumer;
1616
private isConnected = false;
1717

1818
constructor() {
@@ -33,8 +33,8 @@ export class KafkaManager {
3333

3434
this.admin = this.kafka.admin();
3535
this.producer = this.kafka.producer();
36-
this.consumer = this.kafka.consumer({ groupId: 'matching-service-group' });
37-
this.consumer2 = this.kafka.consumer({ groupId: 'matching-service-group-2' });
36+
this.consumer_of_question_topic = this.kafka.consumer({ groupId: 'matching-service-group' });
37+
this.consumer_of_room_created_topic = this.kafka.consumer({ groupId: 'matching-service-group-2' });
3838
}
3939

4040
async initWithRetry(maxRetries = 5, retryDelayMs = 2000): Promise<void> {
@@ -74,8 +74,8 @@ export class KafkaManager {
7474

7575
await this.admin.disconnect();
7676
await this.producer.connect();
77-
await this.consumer.connect();
78-
await this.consumer2.connect();
77+
await this.consumer_of_question_topic.connect();
78+
await this.consumer_of_room_created_topic.connect();
7979
this.isConnected = true;
8080
console.log('Connected to Kafka');
8181
return;
@@ -101,9 +101,9 @@ export class KafkaManager {
101101
}): Promise<void> {
102102
await this.initWithRetry();
103103

104-
await this.consumer.subscribe({ topic: QUESTION_TOPIC, fromBeginning: false });
104+
await this.consumer_of_question_topic.subscribe({ topic: QUESTION_TOPIC, fromBeginning: false });
105105

106-
this.consumer.run({
106+
this.consumer_of_question_topic.run({
107107
eachMessage: async ({ topic, message }: EachMessagePayload) => {
108108
if (topic === QUESTION_TOPIC && handlers.onQuestionMessage) {
109109
await handlers.onQuestionMessage({
@@ -114,9 +114,9 @@ export class KafkaManager {
114114
},
115115
});
116116

117-
await this.consumer2.subscribe({ topic: ROOM_CREATED_TOPIC, fromBeginning: false });
117+
await this.consumer_of_room_created_topic.subscribe({ topic: ROOM_CREATED_TOPIC, fromBeginning: false });
118118

119-
this.consumer2.run({
119+
this.consumer_of_room_created_topic.run({
120120
eachMessage: async ({ topic, message }: EachMessagePayload) => {
121121
if (topic === ROOM_CREATED_TOPIC && handlers.onRoomCreatedMessage) {
122122
await handlers.onRoomCreatedMessage({
@@ -187,8 +187,8 @@ export class KafkaManager {
187187
}
188188

189189
async disconnect(): Promise<void> {
190-
try { await this.consumer.disconnect(); } catch {}
191-
try { await this.consumer2.disconnect(); } catch {}
190+
try { await this.consumer_of_question_topic.disconnect(); } catch {}
191+
try { await this.consumer_of_room_created_topic.disconnect(); } catch {}
192192
try { await this.producer.disconnect(); } catch {}
193193
try { await this.admin.disconnect(); } catch {}
194194
}

backend/matching-service/src/workers/matchingWorker.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,6 @@ export async function handleQuestionMessage(message: { key?: string | null; valu
238238
matchId: matchId,
239239
questionId: roomObject.questionId,
240240
userIds: userIds,
241-
programmingLanguage: 'python'
242241
};
243242

244243
const producer = kafkaManager.getProducer();

docker-compose.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ version: '3.9'
33
services:
44
redis:
55
image: redis:7-alpine
6+
container_name: redis
67
ports:
78
- "6379:6379"
89
volumes:
@@ -25,17 +26,22 @@ services:
2526
- cs3219-peerprep-network
2627
zookeeper:
2728
image: confluentinc/cp-zookeeper:7.6.1
29+
container_name: zookeeper
2830
environment:
2931
ZOOKEEPER_CLIENT_PORT: 2181
3032
ZOOKEEPER_TICK_TIME: 2000
3133
ports: ['2181:2181']
32-
networks: [cs3219-peerprep-network]
34+
networks:
35+
- cs3219-peerprep-network
3336

3437
kafka:
3538
image: confluentinc/cp-kafka:7.6.1
39+
container_name: kafka
3640
ports:
3741
- "9092:9092"
3842
- "29092:29092"
43+
depends_on:
44+
- zookeeper
3945
environment:
4046
KAFKA_BROKER_ID: 1
4147
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
@@ -44,7 +50,8 @@ services:
4450
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
4551
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
4652
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
47-
networks: [cs3219-peerprep-network]
53+
networks:
54+
- cs3219-peerprep-network
4855

4956
matching-service:
5057
build:
@@ -70,7 +77,7 @@ services:
7077
- KAFKA_HOST=kafka
7178
- KAFKA_PORT=9092
7279
- KAFKA_BROKERS=kafka:9092
73-
- DEBUG_MODE=false
80+
- DEBUG_MODE=true
7481
- DEBUG_MATCHING=false
7582
depends_on:
7683
- redis

0 commit comments

Comments
 (0)