지금이 10월 초인데, 9월부터 프로젝트 시작한지 1달밖에 안됐다. 그런데 커다란 짐이 생겨버렸다..
우선 지금까지 어느 정도 완료된 부분은
문제는 백이다. 백엔드 구조가 상당히 복잡해 졌는데, 실시간 처리를 위해서 소켓통신을 하자고 했기 때문이다.
일단 백은 프론트와 실시간 통신하기 위한 웹소켓을 적용해야 하는데 그냥 단순히 웹소켓을 붙히는 것이 아니라 여러 사용자가 똑같은 경기를 동시에 분석할 수도 있는 경우에는 어떡할 것인가?라는 문제가 있다.
이거 때문에 며칠간 엄청난 걱정을 하며 골치가 아파왔는데 계속 걱정만 하면 뭐하는가.. 칼을 뽑았으면 무라도 베자고 마음을 먹어서 무엇을 공부해야 하는지 자료조사를 좀 했다.
우선 우리가 생각했던 백엔드 구조는 다음과 같았다. 지금 생각하면 1초 단위로 계속해서 API콜을 한다고 당연하게 생각한게 그냥 미친 짓이다
이 구조를 생각했을 때도 각각 서버를 컨테이너화해서 배포하는게 좋겠다고 생각은 했지만, 처음엔 할 일도 많은데 그냥 하자고 생각했다.
근데 이제 웹소켓을 붙여야하는 상황에 와서 자료조사를 한 결과 그 정도 규모의 백엔드 서버를 구현한 사람들은 거의 다 각각 서비스들을 컨테이너화해서 구현했다.
일단 우리가 백엔드에 필요한 것들에 대해 가볍게 자료조사를 한 결과, 이러한 기술들을 써야겠다고 마음먹었다. (마음만 일지도)
여기에서 내가 처음 해보는 것들은 웹소켓, 메세지 큐, Docker, CI/CD 연동이다.. 그래서 문제고 그래서 큰일이다... 할 수 있겠지..
화이팅..! x 100
특별히 postgresql을 사용한 이유가 있을까요?!