2020년 12월의 MIL
Jan 07, 2021 조회수 191
2020년이 순식간에 지나버렸다.
<br/>
12.03
- project. 헬로프라이스
- 핫딜 형태소를 분석하여, 키워드 기반으로 알림을 제공하려고 제공중
- 생각보다 불가능할것 같아, 팀원들과 논의 필요
<br/>
12.04
- project. podo-dev
- 댓글 작성 시, 알림 두번 오는 버그 제거
- 최신 댓글 중, 노출되지 않는 게시글 삭제
- 답글 작성시 이메일 알림 기능 추가
- 오랜만에 파워코딩!
<br/>
12.05 ~ 12.06
- 휴식
- 휴식, 데이트
<br/>
12.07
- book. 시작하세요! 도커/쿠버네티스
- 도커 명령어 실습 및 정리
<br/>
12.08
- book. 시작하세요! 도커/쿠버네티스
- docker network
- docker image commit
- dockerfile
- 이미지가 git처럼 돌았다니..
<br/>
12.09
- book. 시작하세요! 도커/쿠버네티스
- dockerfile add/copy
- dockerfile entrypoint/cmd
- dockerfile 주의할점
<br/>
12.10
- project. Helloprice
- 카테고리별 인기 상품 개발
- todo : 쿼리 튜닝 필요
<br/>
12.11 ~ 12.13
- 휴식
- 디지털 액자를 만들어 보려고,
- 집에 잠들어있던 라즈베리파이를 꺼내 os 설치
- 진행 해볼까 말까 고민..
<br/>
12.14
- semina. k8s docker deprecated?
- semina. nhn forword
-
캐시 성능 향상을 위한 시도 https://www.youtube.com/watch?v=KxQbCy3M7Ik
- 캐시 사용 문제점) 캐시가 만료됬을때 요청 시 캐시를 다시만들어야함
- update시간을 부여하고, update 시간에는 이전 캐시를 반환
- updqte시간에 별도의 쓰레드로 새로운 생성 캐시 생성
- 캐시 사용 문제점) 캐시가 생성되는 시점에 똑같은 요청이 오면, 캐시가 중복 생성됨
- 첫번째 요청이 상태값을
creating
으로 변경 - 두번째, 세번째 요청은 상태값을 확인하고 캐시가 생성될때까지 기다림(while문)
- 첫번째 요청의 캐시생성이 완료되면,
completed
로 변경 - 두번째, 세번째 요청은 첫번째 요청에서 생성된 캐시를 반환.
- 첫번째 요청이 상태값을
- catcher
- 위의 문제를 해결하기 위한 라이브러리 developed by nhn
- 소스코드는 기술 검토 후 공개에정
- 캐시 사용 문제점) 캐시가 만료됬을때 요청 시 캐시를 다시만들어야함
-
RabbitMQ and Cloud Message Platform https://youtu.be/ZUksSDu8C0c
- RabbitMQ vs Kafka
- Rabbit MQ
- queue
- 선입선출
- 메시지 상태 관리
- Smart Broker
- 메세지를 직접관리해서 성능 느림
- At most Once, At least Once
- AMQP, MQTT, STOMP
- 쉽고 가벼움
- messaging, pub/sub
- Kafka
- Log, 영구/긴기간 동안 메세지 보관
- 같은 메세지를 반복적으로 읽을 수 있음.
- Append
- 소비가 어떤 메세지를 읽었는지 관리하지않음.
- 어디까지 읽었는직 Consumer가 관리해아함
- Consumer ScaleUp, ScaleOut 했을 때 고민해야할 부분이 있음
- 성능이 빠름
- At Most Once, At least Once, Exactly once
- 자체 TCP
- 주키퍼 설치, 관리 어려움
- Realtime Stream Processing, Metric, Log Aggreation, Even Sourcing, pub/sub
- Rabbit MQ
- QoS
- At Most Once
- 메세지 전달 시 손실 발생
- Consume하고 바로 삭제
- 중간에 메세지가 손실 될 수 있음
- Consumer가 메세지를 받는것을 실패하면 유실됨
- At least Once
- broker는 확인 응답올 때까지,
- 중복가능성 있는 전략
- Exatly Once
- 메세지를 손실 중복없이 사용
- Public Broker Consumer 사이를 트랜잭션으로 관리
- 비용이 너무 많이 듬
- At Most Once
- RabbitMQ vs Kafka
-
Kotlin과 Corution으로 만들어보는 Non-Blocking API https://youtu.be/ZUksSDu8C0c
- Blocking vs Non-Blocking
- Corutine
- suspend 키워드가 들어가면 비동기 처리함
- 실습
<br/>
12.15
- project. podo-picture
- 새롭게 시작한 디지털 액자
- 일단 개발부터하고, 라즈베리파이 사고 모니터사자!
- static nginx 배포.
- 프론트. 동영상 전환 시, blank 되는 화면 안보이게 timeout 작업을 개발
- 벡엔드. 파일 읽어서 url 반환해주는 api개발
<br/>
12.16
- semina. nhn forword
- 더 나은 내일을 위한 리팩토링 https://youtu.be/vwgNI9w_bsQ
- 읽기 좋은 kotlin 가이드 https://youtu.be/oEHIj_suIBU
- semina. 우아콘
- 수십억건에서 queryDsl 사용하기 https://youtu.be/zMAX7g6rO_Y
<br/>
12.17 ~
- 독립..
- 이때부터 이사, 독립, 짐정리로 아무것도 못했다 ㅜ.ㅜ
'2020년 12월의 MIL' 관련된 다른글
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.