kafka 에서 auto.offset.reset 이라는 값이 발동하는 조건은 이미 저장된 오프셋값이 없거나 특정 범위를 넘었을때 인데... 여기서 특정 범위라는 것은 카프카에 설정된 특정 값이 아니라 이미 데이터가 없어져서 더 이상 가지고 있지 않는 범위를 말한다.
https://www.joinc.co.kr/w/man/12/Kafka/about
https://www.joinc.co.kr/w/man/12/Kafka/QuickStart
1.밤을 새고 회사 피트니스 센터에서 샤워를 하고 상쾌한 아침을 맞이하며 생각을 적어봅니다.
어제 저녁때부터 짬날때마다 쇼핑채팅봇 MVP를 진행해 보았습니다.
먼저 Slack과 Serverless로 사용 할 AWS를 연동하는 작업을 시작했습니다.
APIGateway + Lambda 조합으로 구성하고 Lamda는 경험하지 못한 Python으로 작업하였습니다.
어제도 잠깐 적었지만 Python 한글처리나 json처리 때문에 구글링의 힘을 빌려 정보를 수집하였습니다.
Lambda를 Python 때문에 버벅이며 작업을 하다가 이번에는 APIGateway 때문에 버벅였습니다.
Slack에서는 POST application/x-www-form-urlencoded로 보내야 하는데 APIGateway 기본이 application/json라 Request Body를 Mapping하여 HTML POST data to JSON을 적용해야만 했습니다.
참고로 Lambda나 APIGateway는 AWS Console에서 모두 개발하고 테스트 할 수 있습니다.
request Content-Type에 따라 맵핑하는 것으로 설정하였습니다.
이미 예제가 있었지만 Lambda는 변경사항이 바로 적용되고 APIGateway는 배포해야지 적용되는 차이를 몰라서 몇제곱의 경우의 수로 삽질을 하였습니다.
얼마나 삽질을 했냐면 Python로 구현이 안되어 Node.js로 구현하여 기능을 확인하고 다시 Python으로 적용하는 방법을 찾아보았습니다.
오늘은 틈틈히 짬나는대로 AWS와 IBM Watson Classifier를 연동해 볼 계획입니다.
아마도 연동보다는 IBM Watson Classifier사용법을 이해하는데 시간이 걸릴 것 같습니다.
Python은 사용하기는 좋은데 사용법을 잘 모르면 엄청 삽질하는 단점이 있는 것 같습니다.
저만 그럴 수 있는 것 같습니다.
오늘은 어떤 일이 벌어질까요?
서문래 프로젝트에 많은 분들이 신청해주셔서 감사합니다.
많은 얘기도 나누고 많은 것을 얻어가셨으면 합니다.
상쾌한 하루를 시작합니다.^^