개발자
안녕하세요 로드밸런싱으로 분산처리에 대해 궁금한점이 생겨 질문드립니다. 1.흔히 분산처리란 실제 서버를 여러대에 어플리케이션을 구축해놓고 클라이언트에서 Request를 받는 컴퓨터가 각각 서버에서 트래픽을 분산하는걸로 알고있습니다. 그러면. 혹시 서버 한대에 도커이미지 여러개로 두고 분산처리 하는 방식은 어떤가요? 트래픽이 L4 스위치를 타고 들어오는 시점이고 어차피 트래픽을 감당하는 컴퓨터는 한대인데 가상화 하더라도 같은 NIC을 사용할텐데 이게 과연 효율이 좋은지 궁금합니다. 2.그리고 보통 여러대에 서버로 로드밸런싱 하는거말고 단일서버에도 그렇게 구축하는 사례가있을까요? 트래픽이 갑작스럽게 발생하는 서비스 오픈이 얼마남지않고 처음 겪는 문제라 걱정이 많습니다. 조언부탁드립니다 선배님들
답변 1
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 03월 08일
안녕하세요. 먼저, 여러분의 질문에 대해 답변드립니다. 1. 도커 컨테이너를 사용하면 하나의 서버에서 여러 애플리케이션을 분산 처리할 수 있습니다. 한대의 서버 안에서 여러 도커 이미지를 통해 애플리케이션을 가동시키는 것은 충분히 가능한 방법입니다. 이렇게 시스템 리소스를 격리하여 다른 프로세스에 의해 영향 받지 않고, 각각 독립적으로 작동하게 하므로 성능 상의 이점도 확보할 수 있습니다. 그런데 말씀하신 것처럼 NIC(Network Interface Card)이 공유되므로, 네트워크 IO에 병목이 발생하는 경우 효율성이 떨어질 수 있습니다. 2. 로드 밸런싱을 단일 서버에서도 사용하는 사례는 많습니다. 실제로, 정적 웹 페이지를 제공하거나 크게 늘어나지 않을 것으로 예상되는 트래픽을 갖는 서비스라면 해결할 수 있는 방법입니다. 로드 밸런서가 단일 서버 내의 여러 프로세스간에 요청을 분배하기 때문입니다. 그러나 트래픽이 갑작스럽게 증가하는 경우, 가용한 리소스의 한계로 인해 대응이 어려울 수 있습니다. 따라서 여러분의 서비스 트래픽에 대해 단일 서버에서 컨테이너를 사용하여 로드 밸런싱을 할지, 아니면 여러 서버를 활용할지 결정하려면 네트워크 트래픽, 시스템 리소스 사용량, 현재 서버의 성능 등을 고려해야 합니다. 또한 초대형 트래픽에 대처하게 될 경우, 클라우드 기반 솔루션을 탐색하는 것도 좋은 선택일 수 있습니다. 마지막으로 넷플릭스나 구글과 같은 대형 IT 회사들은 마이크로 서비스 아키텍처와 쿠버네티스(Kubernetes) 등을 사용하여 애플리케이션을 수천 개의 컨테이너로 분산시켜서 운영한다고 합니다. 이 방식을 참고해 보셔도 좋겠습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!