inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실습으로 배우는 선착순 이벤트 시스템

Producer 사용하기

consumer에서 숫자가 출력되지 않습니다ㅠ

해결된 질문

873

강프로그래머

작성한 질문수 110

0

안녕하세요

제가 누락된 곳이 있는건지 테스를 시작하면

터미널에서 컨슈머쪽에 숫자가 찍히지 않는데 무슨 문제일까요....?

아예 실행자체가 안되는 것 같은데 혹시 터미널로 Producer테스트 코드 여쭤볼 수 있을까요..

혹시 아니면 프로젝트 코드 문제가 있을 것 같아서

주소 첨부드립니다..

감사합니다

 

https://github.com/KMSKang/coupon-system

 

 

[터미널에 입력한 consumer 명령어]

docker exec -it kafka kafka-console-consumer.sh --topic coupon_create --bootstrap-server localhost:9092 --key-deserializer "org.apache.kafka.common.serialization.StringDeserializer" --value-deserializer "org.apache.kafka.common.serialization.LongDeserializer"

ProducerConfig values: 
	acks = -1
	batch.size = 16384
	bootstrap.servers = [localhost:9092]
	buffer.memory = 33554432
	client.dns.lookup = use_all_dns_ips
	client.id = producer-100
	compression.type = none
	connections.max.idle.ms = 540000
	delivery.timeout.ms = 120000
	enable.idempotence = true
	interceptor.classes = []
	key.serializer = class com.fasterxml.jackson.databind.ser.std.StringSerializer
	linger.ms = 0
	max.block.ms = 60000
	max.in.flight.requests.per.connection = 5
	max.request.size = 1048576
	metadata.max.age.ms = 300000
	metadata.max.idle.ms = 300000
	metric.reporters = []
	metrics.num.samples = 2
	metrics.recording.level = INFO
	metrics.sample.window.ms = 30000
	partitioner.adaptive.partitioning.enable = true
	partitioner.availability.timeout.ms = 0
	partitioner.class = null
	partitioner.ignore.keys = false
	receive.buffer.bytes = 32768
	reconnect.backoff.max.ms = 1000
	reconnect.backoff.ms = 50
	request.timeout.ms = 30000
	retries = 2147483647
	retry.backoff.ms = 100
	sasl.client.callback.handler.class = null
	sasl.jaas.config = null
	sasl.kerberos.kinit.cmd = /usr/bin/kinit
	sasl.kerberos.min.time.before.relogin = 60000
	sasl.kerberos.service.name = null
	sasl.kerberos.ticket.renew.jitter = 0.05
	sasl.kerberos.ticket.renew.window.factor = 0.8
	sasl.login.callback.handler.class = null
	sasl.login.class = null
	sasl.login.connect.timeout.ms = null
	sasl.login.read.timeout.ms = null
	sasl.login.refresh.buffer.seconds = 300
	sasl.login.refresh.min.period.seconds = 60
	sasl.login.refresh.window.factor = 0.8
	sasl.login.refresh.window.jitter = 0.05
	sasl.login.retry.backoff.max.ms = 10000
	sasl.login.retry.backoff.ms = 100
	sasl.mechanism = GSSAPI
	sasl.oauthbearer.clock.skew.seconds = 30
	sasl.oauthbearer.expected.audience = null
	sasl.oauthbearer.expected.issuer = null
	sasl.oauthbearer.jwks.endpoint.refresh.ms = 3600000
	sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms = 10000
	sasl.oauthbearer.jwks.endpoint.retry.backoff.ms = 100
	sasl.oauthbearer.jwks.endpoint.url = null
	sasl.oauthbearer.scope.claim.name = scope
	sasl.oauthbearer.sub.claim.name = sub
	sasl.oauthbearer.token.endpoint.url = null
	security.protocol = PLAINTEXT
	security.providers = null
	send.buffer.bytes = 131072
	socket.connection.setup.timeout.max.ms = 30000
	socket.connection.setup.timeout.ms = 10000
	ssl.cipher.suites = null
	ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
	ssl.endpoint.identification.algorithm = https
	ssl.engine.factory.class = null
	ssl.key.password = null
	ssl.keymanager.algorithm = SunX509
	ssl.keystore.certificate.chain = null
	ssl.keystore.key = null
	ssl.keystore.location = null
	ssl.keystore.password = null
	ssl.keystore.type = JKS
	ssl.protocol = TLSv1.3
	ssl.provider = null
	ssl.secure.random.implementation = null
	ssl.trustmanager.algorithm = PKIX
	ssl.truststore.certificates = null
	ssl.truststore.location = null
	ssl.truststore.password = null
	ssl.truststore.type = JKS
	transaction.timeout.ms = 60000
	transactional.id = null
	value.serializer = class org.apache.kafka.common.serialization.LongSerializer

java docker spring-boot kafka redis

답변 3

1

최상용

강프로그래머님 안녕하세요.
소스코드를 확인했을 때 https://github.com/KMSKang/coupon-system/blob/master/api/src/main/java/com/example/api/config/KafkaProducerConfig.java#L3 에 있는 StringSerializer 를 apache 거로 변경해주시면 될 것 같습니다.

0

seungseopahn

redis 나 mysql 데이터 모두 삭제해보셨나요...?

0

강프로그래머

mysql은 테스트 환경이기 때문에 데이터가 0개인걸로 확인했습니다.

레디스도 flushall 명령어 진행하였습니다.

그러고 나서 테스트해도 동일합니다 ㅠㅠ

0

seungseopahn

명령어에 옵션 추가해야 됩니다!

docker exec -it kafka kafka-console-consumer.sh --topic coupon_create --bootstrap-server localhost:9092 --key-deserializer "org.apache.kafka.common.serialization.StringDeserializer" --value-deserializer "org.apache.kafka.common.serialization.LongDeserializer"


0

강프로그래머

아무리 비교해봐도 제가 작성한 것이랑 똑같게 작성해주신 것 같습니다..

혹시 옵션 어떤 추가를 말씀하시는걸까요..!??!

ApplyService와 Consumer서비스의 db공유?

0

55

2

consumer가 topic을 전부 사용하기 전에 사용자에게는 쿠폰이 발급된것으로 확인하는 과정에서 발생가능한 문제.

0

76

1

쿠폰에 관련되어서 좀 더 참고할만한 자료가 있을까요?

0

85

2

흐름정리 제가 이해한게 맞나요?

0

72

2

안되서 스트레스 받아요

-2

109

2

프로젝트 진행할때 모듈로 추가하는 이유가 궁금합니다!

0

183

2

Redis 활용하기 문제점 해결하기 부분이 이해가 잘 안됩니다...

0

213

1

카프카를 도입하고 난 뒤 로그로 보여지는 장점을 발견하지 못하고 있습니다.

0

167

2

키생성 방식에 따른 성능

0

167

2

사용자 동선에 대한 트랜잭션 문의

0

134

2

강사님 강의를 듣고 실제 프로젝트에서 이벤트 응모 시스템을 만들어 봤습니다.

0

210

1

쿠폰 발급 개수 제한

0

183

2

ApplyService 의 총 처리 시간이 궁금합니다.

0

154

1

쿠폰 생성 에러 처리에 관해서 질문이 있습니다.

0

224

2

마지막에 하신 테스트 자체는 실패하는 게 맞는거죠??

0

275

2

안녕하세요 질문 있습니다!

0

294

1

쿠폰 발급 유저 흐름에 대한 질문

0

308

2

수량 조절에 대한 질문이 있습니다.

0

230

2

kafka Producer 실행 중 에러 시 redis count 정합성 이슈

0

398

2

test 과정에서 오류가 발생합니다.

0

383

1

도커 환경설정에 대해서

0

269

2

Redis의 INCR 사용 해도 Race condition이 잡히지 않는 문제

0

597

1

consumer 모듈

0

322

2

카프카 토픽 생성오류

0

383

2