728x90
대용량 트래픽을 처리하는 방법대용량 트래픽 상황에서 시스템의 성능과 안정성을 유지하기 위해서는 다양한 방법이 있다. 특히나 어떤 트래픽 상황인지에 따라서 방법을 선택할 수 있으며, 상세 상황이 설정되지 않았을 때의 대표 처리 방법을 알아본다. 크게 5가지로 볼 수 있다단일 애플리케이션 자체의 성능 최적화서버 증설(수평 확장)과 로드 밸런싱의 적용메시지 큐 도입데이터 베이스의 복제 증설캐싱 이용 1️⃣. 단일 애플리케이션 자체의 성능 최적화가장 대표적인 방법으로, 현재 애플리케이션 자체의 성능을 증가시키는 방법을 찾을 수 있다.특히나 해당 서버의 스펙 자체가 굉장히 우수한 편인 상황에서, 애플리케이션 자체의 응답 속도가 느린 것으로 파악되었다면 필히 개선점을 찾아보아야 할 것이다. 예를 들어 내부 복잡한 ..
> 관련 포스팅(서버 이중화) 요구사항 분석최초에 원한 구조는 위와 같다.클라이언트가 요청을 보내면 L4가 분산(Active-Active)시켜서 서버에 전달하는데, 이때 각 서버는 마찬가지로 이중화된 DB를 선택해서 접근할 것이다.이때, 해당 DB는 최대한 실시간으로 연동되어 데이터 정합성을 유지할 수 있길 원한다그렇다면 나는 mariaDB의 Replication을 어떻게 할지를 고민하면 된다. MariaDB의 Replication 방식 고려하기MriaDB에서 Replication 구성은 다양하다. 그 중 몇 가지만 대표적으로 보면 아래와 같다. AP 서버가 Active-Active 이중화 구성 상태라는 것은이러한 서버의 구성 상태를 더욱 정확히 파악해보자- 부하 균등 분산: 트래픽이 두 서버에 균등하..
이전 작업 바로가기 VirutalBox 조작하기클립보드 공유시키기VirtualBox 이용 시 Ctrl+C,V 를 원활하게 연동하기 위함, 이후 해당 서버 재기동 OpenJDK 설치virutalBox내 우분투에서 jdk 설치를 진행한다sudo apt-get install openjdk-11-jdkjava -version //확인 그다음, virtualBox에서 confluent.io 사이트에 접근해 원하는 Kafka 버전의 Tarball 파일을 다운한 뒤 압축 해제해준다tar -xvf [카프카.tar.gz 경로] Kafka 파일 구경bin 구경하기우선 putty로 접근해서 kafka 경로 내의 파일을 확인해본다bin 경로 내로 들어가면 카프카 기동 명령어 역할을 하는 .sh 파일들을 볼 수 있다이제 곧 [..
메시지큐와 이벤트 스트리밍 플랫폼현대 소프트웨어 아키텍처는 마이크로소프트 방식의 작은 단위들로 구성된다. 그리고 이러한 블록들의 통신을 담당하는 메시지 큐가 존재한다. 대표적으로 아파치 카프카, 아파치 RabbitMA 등이 존재하지만 엄밀히 따지면 아파치 카프카는 이벤트 스트리밍 플랫폼으로 분류된다. 이에 따라 사전에 메시지큐와 이벤트 스트리밍 플랫폼의 차이를 먼저 보면 다음과 같다.상단에 그린 것이 일반적인 메시지 큐다. 하나의 생산자는 메시지를 큐에 보내고, 이 큐로부터 하나의 소비자가 메시지를 처리한다.이와 달리 하단의 이벤트 스트리밍 플랫폼은 하나의 생산자가 메시지를 큐에 보낼 때 다수의 소비자가 각자의 시점에서 데이터를 처리할 수 있다. 메시지큐에 대한 고려사항메시지 큐를 적용할 때 할 수 있는..
사전작업이전 포스팅에서 TrustStore까지 생성시켰다그럼 이제 TrustStore를 배포할 AWS의 특정 경로로 담아주고 SpringBoot에 설정을 진행한다 SpringBoot 설정 작업 진행Application.yml 설정spring: ... kafka: bootstrap-servers: {broker1}:9098, {broker3}:9098, {broker3}:9098 properties: security.protocol: SASL_SSL sasl.mechanism: AWS_MSK_IAM sasl.jaas.config: software.amazon.msk.auth.iam.IAMLoginModule required; sasl.client.callba..
사전 도구- Ubuntu-2004.6-desktop-amd64.iso- VirtualBox.exe 왜 하냐.- Obuntu에 kafka 설치할 예정- Obuntu CLI말고, 개인 PC 로컬로 접근하고자 함- Mtputty를 통해서 주피터, 브로커 1, 2, 3 을 탭별로 편히 관찰하고자 합 1. 우분투 내 패키지 관리 apt-get 업데이트우분투를 포함한 데비안 계열 리눅스 패키지 관리 툴인 apt-get을 업데이트한다sudo apt-get updatesudo apt-get upgradesudo apt install net-toolsifconfig -a // 네트워크 인터페이스 정보 조회 2. VirtualBox에서 고정 IP 설정하기VirtualBox 내의 호스트 네트워크 관리VirtualBox >..