Why: 왜 PUB/SUB을 고민했을까? 소켓에 엄청난 트래픽이 몰린다고 해볼까? 소켓에 트래픽이 몰리면 어떻게 처리를 해야할까? 기존에 트래픽 분리 서버를 활용해 다중 소켓 환경을 관리하는 방법을 포스팅하긴 했었지만, PM2같은 클러스터 배포 환경에서는 사용하지
Why: 왜 트래픽 관리 서버를 고민했을까? 소켓에 엄청난 트래픽이 몰린다고 해볼까? 소켓에 트래픽이 몰리면 어떻게 처리를 해야할까? 소켓 서버를 여러개로 나눠볼까? 여러 소켓 서버로 나누면 트래픽을 분산은 가능한데 브로드캐스트 문제가 분명 생길텐데? 트래픽을 분산
Why: 왜 Puppetear고 왜 캐싱일까? 크롤링을 해와야 하는데 어떤 라이브러리 써야할까? 근데 난 CSS랑 JS도 가지고 와야하니까 Puppetear를 써야겠네 Puppeteer 써서 가지고 왔는데 크롤링 한번 당 3~5초가 걸리네...? 병렬처리가 좀 빠를
Why: 왜 마스터 DB와 슬레이어 DB를 사용할까? What: DB 커넥션 관리가 뭔데? How: 어떻게 구성할까? 1. Master DB와 Slave DB를 먼저 구성해보자 Master DB와 Slave DB를 각각 먼저 만들어보자. Volumes를 통해 각 D
SSL/TLS는 암호화 프로토콜로 <span style="color:\* 서버와 클라이언트가 암호화 알고리즘을 협상하며, 서버가 인증서를 클라이언트에게 보내는 단계클라이언트가 HELLO라는 메시지를 보내며 가용한 알고리즘 목록을 보내면, 서버가 알고리즘 방식을 확
무중단 배포가 무엇일까? > 무중단 배포는 재배포하는 도중에도 서비스를 종료하지 않고 배포한것을 적용하는 것을 의미합니다. 그럼 어떻게 무중단 배포를 구현할까요? A라는 서비스를 사용자들이 사용하고 있다고 해보겠습니다. 이때 A 서비스에 기능을 추가한 B 서비스가 등장
WebRTC가 무엇일까? > ZOOM을 생각하면 된다. 즉, 클라이언트가 서로 화상으로 연결될 수 있는 기술이다. 즉 각 클라이언트간 실시간으로 비디오와 음성을 전달해줄 수 있는 기술이다. 이때 시그널링 서버, STUN 서버, TURN 서버를 통해 피어간 비디오와 음성
Nest.js의 문제점으로 느낀 것이 바로 불필요한 트랜잭션 코드입니다.스프링 AOP 기술을 통해 트랜잭션 어노테이션을 사용해오던 저에게는 매우 불필요한 코드였습니다.따라서 이를 분리하기 위해 인터셉터와 데코레이터를 사용하였습니다.Nest.js의 인터셉터는 크게 3가지
클로바 스튜디오가 무엇일까?사실 생소한 단어지만 GPT 네이버 버전이라고 생각하면 된다.즉 네이버에서 제공하는 LLM 서비스입니다.이번 프로젝트에서 AI에게 채팅으로 질문을 할 수 있고 이를 통해 Clova Studio로 부터 답변을 받을 수 있었습니다.GPT를 쓰면
클라이언트에서 서버로 요청을 보낼때 HTTPS를 통해 보냅니다.서버는 HTTPS를 통해 암호화된 데이터를 복호화 하는 과정을 거칩니다.하지만 모든 클라이언트 요청마다 HTTPS를 복호화해서 데이터를 가지고 오면 매번 복호화가 이뤄집니다.Nginx는 SSL 터미네이션이라