이번장에서는 아파치 카프카 CLI 명령어를 알아보도록 하겠습니다. 직접 아파치 카프카를 도커 컨테이너로 실행하여 CLI 명령어를 실행해볼 것이며, 아파치 카프카를 실행시키기 위해 도커와 아파치 카프카 오픈소스 깃 clone 과정이 필요합니다. 도커 설치 로컬 컴퓨터에 도커를 설치해 주시면됩니다..! 이 과정은 인터넷에 너무 많으니 패스하도록 하겠습니다. 저는 윈도우용의 도커를 설치했습니다. 아파치 카프카 오픈소스 설치 이제 도커를 설치했다면, 도커 컨테이너에 올릴 아파치 카프카 오픈소스가 필요합니다. 저는 conductor라는 오픈소스를 깃으로 clone을 해와서 가져올 것이며, 링크는 아래에 있습니다. conduktor/kafka-stack-docker-compose: docker compose fil..
이번 학기에 아파치 카프카에 대해서 스터디를 하게 되었는데 공부하면서 한번 정리를 해보려합니다! 혹시나 틀린 정보가 있다면 말씀해주세요! 현재 백엔드에서 빅데이터 처리시에 가장 많이 쓰이고 있는 플랫폼은 카프카인데요. 시작하기에 앞서, 우선 먼저 카프카를 한마디로 소개를 먼저 하자면 다음과 같습니다. 실시간 스트리밍 대용량, 대규모 데이터 처리에 특화된 프레임워크 이를 먼저 기억해주시고, 아래 글을 읽어주세요! 아파치 카프카(Kafka)의 시작 과거, 기존의 백엔드 서버에서 데이터를 수집하기위해 직접 데이터를 카테고리화 해서 저장을 하였습니다. 즉, 직접 1대1 매핑을 통해 데이터와 앱을 연결하여 카테고리처럼 저장하는 방식이였습니다. 초기에는 이러한 방식이 운영이 어렵지 않았고, 아키텍처도 복잡하지 않아..
이번 블로그에서는 터미널에서 SSH와 SCP를 직접 어떻게 사용하는지, 또한, 깃허브 액션에선 SSH와 SCP를 어떻게 사용하는지에 대해서 알아 보겠습니다. 사실 저희가 서버를 배포를 한다고 하면, SSH와 SCP 둘 다 사용할 일이 많잖아요?? 하지만 그럴때마다 까먹어서 구글링 하느라 시간 다쓴 적 있지않나요? 저도 서버 배포를 하면서 매번 SSH, SCP를 사용하는데 그때마다 까먹어서 자료 찾는게 귀찮아서 이번에 한번 제대로 공부하고, 까먹을 때마다 보려고 합니다 ㅎㅎ 우선 터미널 상에서 SSH와 SCP를 어떻게 사용하고, 옵션은 어떻게 활용하는지에 대해서 정리를 한 후, 추가적으로, 깃허브 액션에서는 어떻게 SSH와 SCP를 활용할 수 있는지에 대해서 정리를 해보도록 하겠습니다. SSH SSH 기본..
이번 블로그에서는 여러 EC2들을 대상으로 CI/CD를 구축하는 과정을 알아보도록 하겠습니다. 우선 CI/CD 도구는 깃허브 액션을 사용할것이고, 스프링 서버를 기반으로 배포를 진행할 것입니다. CI/CD를 구축할 서버 구조환경은 아래의 글에서 확인 하실 수 있습니다. https://tioon.tistory.com/184 EC2 도메인 연결 및 HTTPS 적용하기 이번엔 AWS에서 서버 배포를 할때, 도메인을 적용시키고, 추가적으로 HTTP가 아닌 HTTPS로 적용시켜 배포하는것을 알아보도록 하겠습니다. 우선, 이 과정을 진행하기 위해선 필요한것들은 다음과 tioon.tistory.com 즉, 아래가 저희가 CI/CD를 구축해야할 서버의 환경입니다. 로드밸런서와 RDS는 CI/CD를 구축할 필요가 없으므..
이번 장에서는 로드밸런서를 활용한 Scale-Out 구현하겠습니다. Scale-Out을 구현하기에 앞서, Scale-Out의 개념과 이게 왜필요한지에 대해서 먼저 알아보도록 하겠습니다. Scale-Out(수평확장)이란?? Scale-Out이란 Scale-Up과 대비되는 말로, 서버의 처리능력을 증가시키기 위해 추가적은 노드(서버)를 시스템에 추가하는 것을 의미합니다. 즉, 서버의 성능을 높이기위해 단일 서버가 아닌 다수개의 서버를 이어붙여 트래픽을 분산시켜 서버 성능을 높이는 기법을 뜻합니다. 이해하기 쉽게 예시를 들어서 설명을 해보겠습니다. 위와 같은 상황의 서버가 있다고 가정을 하겠습니다. 현재 단일 서버로 서버 1대가 존재하고, 서버와 DB가 1대1로 매핑이 되어있는 서버라고 가정하겠습니다. 가장 ..
이번엔 AWS에서 서버 배포를 할때, 도메인을 적용시키고, 추가적으로 HTTP가 아닌 HTTPS로 적용시켜 배포하는것을 알아보도록 하겠습니다. 우선, 이 과정을 진행하기 위해선 필요한것들은 다음과 같습니다. EC2 (서버실행되는 EC2) 도메인 (가비아 사용) Route53 (도메인서비스) Certfication Manager (SSL/TLS 인증서) Load Balancer (로드밸런서) RDS 데이터베이스 (필수X) 우선 진행과정은 다음과 같습니다. 1. EC2, RDS 배포(여기서는 생략) 2. 도메인 구매 3. Route 53 도메인 적용 4. Certification Manager 인증서 발급 및 도메인 적용 5. 로드 밸런서 생성 및 타겟그룹 설정 6. 로드밸런서와 Route 53 연결 일단 ..
RDS란? -AWS에서 제공하는 관계형 데이터베이스 서비스로, 다양한 데이터베이스를 생성 및 운영할 수 있어, 개발자가 필요한 것을 선택하여 데이터베이스를 사용할 수 있는 서비스 입니다. 또한, 자동으로 백업, 복구, 패치관리, 등의 데이터베이스 관리 작업을 자동화하며, 필요에 따라 데이터베이스의 크기를 늘리거나 줄일 수 있습니다. 즉, RDS는 AWS에서 따로 자체적으로 운영하는 데이터베이스 서비스로, 우리가 서버를 개발할때 편의성을 높이는 서비스입니다. 그러면 저희가 따로 데이터베이스를 운영하는거에 비해 RDS를 통해 데이터베이스를 운영할때 어떤 장점이 있을까요?? RDS의 장점은 다음과 같습니다. RDS의 장점 관리 편의성 증가 - 자체적으로 데이터베이스를 운영할땐 백업, 패치 관리, 장애복구 등의..