신입개발자가 자바 스프링으로 대규모 트래픽 처리를 고려해서 개발하려고 할때 수평적 확장은 고려하기 매우 어려울것이라 생각하고 나머지 부분은 다 해볼 수 있겠지? 해볼만한 목록들을 알려줘
네, 수평적 확장은 구성하기 어렵기 때문에 초기 개발 단계에서는 수직적 확장을 고려하는 것이 좋습니다. 여러 가지 해볼만한 목록들을 아래와 같이 제시해드립니다.
캐싱: Redis와 같은 인 메모리 캐시를 이용하여 쿼리 응답 시간을 줄이고, 성능을 향상시킬 수 있습니다.
로드밸런싱: nginx, HAProxy와 같은 로드밸런서를 이용하여 트래픽을 분산시키고, 서버 부하를 분산시킬 수 있습니다.
비동기 처리: Kafka나 RabbitMQ와 같은 메시지 큐를 이용하여 비동기 처리를 할 수 있습니다.
데이터베이스 샤딩: 대규모 트래픽 처리를 위해 데이터베이스를 샤딩하여 데이터를 분산시킬 수 있습니다.
모니터링: ELK 스택과 같은 모니터링 툴을 이용하여 시스템의 상태를 모니터링하고, 이슈를 빠르게 파악할 수 있습니다.
부하 테스트: JMeter와 같은 부하 테스트 툴을 이용하여 대규모 트래픽에 대한 시스템 성능을 테스트할 수 있습니다.
보안: HTTPS, SSL, 인증/인가 처리 등을 적용하여 시스템 보안을 강화할 수 있습니다.
지피티는 내선생님
뭔소리야 수평적 확장 당연히 고려해야지 장난해?
수준의 차이가 있겠지만 기본적인 수평적 확장은 너무나 당연하게, 수직 확장보다 더 우선해서 고려돼야함
아 컴퓨터 여러대 있어야 된다 생각했는데 도커쓰면 되네 멍청하네
단일머신의 수직 확장은 오히려 안하는 추세임 redis를 붙이는걸 수직 확장이라고 본다면 모를까
해볼수 있는거부터 직접 해보려 생각했는데 대기성님 말씀이 맞네요
실제로 수평 확장할 필요는 없고 이론상 되게 만들면 되는거야
알겠슴당