
0.1. 한 서버에서 백엔드와 데이터베이스를 운영하는 것 vs 서버별로 백엔드 서버와 데이터베이스 서버를 따로 운용하는 것 (개인적인 생각)
리눅스와 네트워크 공부를 하다가 생각보다 어려워서 갑자기 이런 생각을 하게 되었다.
우선 추측은 서비스가 커지거나 사용자가 늘어날 수록 위험 분산을 해야 한다 생각했습니다.
첫 번째로는 예비서버 두 번째로는 서비스별로 서버를 나눈다고 생각을 했습니다.
따로 운영을 하면 서버 하나 터져도 예비 서버 가동해서 따로 운영하는 db서버에 연결만 해주면 서비스는 진행할것같앗습니다.

네모가 서버라고 했을 때

이런 식으로 끊어져도 예비서버로 장애를 극복할 수 있다고 생각한 거죠
조금 조사하고 찾아본 결과입니다.
was/web 이랑 db서버를 나누는건 서비스 상황에 따라 다르겠지만
한개 꺼지면 다 꺼지고 영향이 크겠죠.
그래서 '이중화'를 많이 한다고 합니다.
1. 한 서버에서 백엔드와 데이터베이스를 운영하는 것
장점으로는
1. 간편한 구성: 단일 서버에서 모든 구성 요소를 관리하기 때문에 초기 설정이 간단하고 운영 및 유지보수가 쉽습니다.
2. 빠른 데이터 전송: 데이터 베이스와 백엔드 서버 간의 통신이 로컬 네트워크에서 이루어지기 때문에 데이터 전송 속도도 빠릅니다.
단점
1. 성능 제한: 서버가 과부하되기 쉬우며, 대량의 트래픽이 발생할 경우 성능이 저하될 수 있습니다.
2. 단일 장애 지점: 서버에 장애가 발생하면 백엔드와 데이터베이스 모두에 영향을 미칩니다.
2. 서버별로 백엔드 서버와 데이터 베이스 서버를 따로 운용하는 것
장점
1. 확장성: 각 서버가 독립적으로 확장 가능하므로 시스템이 확장될 때 우연성이 높아집니다.
2. 안정성: 서버 간에 서로 영향을 덜 주므로 전체 시스템의 안정성이 향상됩니다.
단점
1. 관리 복잡성: 각각의 서버를 관리해야 하므로 시스템 관리가 더 복잡해집니다.
2. 네트워크 오버헤드: 서버 간의 통신으로 인한 네트워크 오버헤드가 발생할 수 있습니다.
3. 결론
프로젝트의 규모, 예산, 성능 목표 및 안정성 요구사항을 고려하여 서버 구성을 결정해야 합니다. 작은 규모의 프로젝트나 예산이 제한적인 경우에는 단일 서버에서 모든 것을 운영하는 것이 간편하고 효율적일 수 있습니다. 그러나 대규모의 프로젝트나 안정성이 중요한 경우에는 서버를 분리하여 운영하는 것이 더 적합할 수 있습니다.
'Back End > 백엔드 (Back-End) 서버 (server)' 카테고리의 다른 글
VirtualBox NAT 네트워크 설정하고 포트포워딩 하기 : 가이드 (Putty연결) (0) | 2024.02.27 |
---|---|
Apache Tomcat 톰캣 서버 구성 파일(server.xml)분석 및 설정 방법: 속성별 상세 설명 (15) | 2024.02.27 |
Spring Boot 프로젝트 개발과 WAR vs JAR 배포에 대한 고찰 (0) | 2024.02.26 |
Session(세션), Cookie(쿠키), Token(토큰), Cache(캐쉬) 란, 역할과 관계로 이해해보기 (0) | 2023.07.03 |
JSP scope 스코프 4가지 Application, Session, Request, Page (0) | 2023.06.27 |