도입배경실시간으로 변화하는 코인 데이터를 사용자에게 빠르게 제공하기 위해 HTTP API 방식을 사용하던 중, 다음과 같은 한계를 경험했습니다.기존 HTTP API 방식의 문제점지연시간 문제클라이언트가 데이터를 요청해야만 갱신되므로 실시간성이 부족불필요한 네트워크 부하지속적인 HTTP Polling(주기적 요청)으로 서버 부하 증가다수의 클라이언트 처리 어려움동시 접속자가 많을 경우, API 처리로 인해 서버의 응답 속도 저하해결 방법: Kafka + WebSocket 도입WebSocket을 활용하여 클라이언트와 서버 간 실시간 양방향 통신 가능, 클라이언트가 요청하지 않아도 서버에서 데이터 전송Kafka를 도입하여 여러 백엔드 서버에 분산 처리 및 확장성(Scalability) 보장여러 개의 백엔드 서..
서론이번 글에서는 EC2 Ubuntu 인스턴스에 Jenkins를 설치하고 설정하는 방법을 단계별로 정리해보겠습니다.1. EC2 인스턴스 생성 및 Java 설치1) EC2 인스턴스 생성AWS EC2에서 Ubuntu 인스턴스를 선택해줍니다.jar 및 Docker Image 빌드를 위해 저장공간은 10GB 이상으로 설정해줍니다.Public Subnet 에 배치하여 외부 접속이 가능하도록 설정합니다.2) Java 설치Jenkins는 Java 기반으로 동작하기 때문에 Java 설치가 필요합니다.아래 명령어로 Java를 설치해줍니다.설치 명령어sudo apt update sudo apt install fontconfig openjdk-17-jre java -version설치가 성공적으로 완료되면 다음과 같은 출력이..
서론GitHub에 코드를 푸시한 뒤, JAR 빌드, Docker 이미지 생성 및 Docker Hub에 푸시, 그리고 인스턴스를 재시작하는 과정이 너무 복잡하고 반복적이었습니다.이에 따라 CI/CD 파이프라인의 필요성을 느끼게 되었고, 이를 해결하기 위해 Jenkins를 도입하게 되었습니다.1. CI/CD 파이프라인이란?CI(Continuous Integration)- 지속적 통합개발자가 코드 변경 시 이를 자동으로 병합하고 빌드 및 테스트를 실행하여 충돌을 감지합니다.여러 개발자가 동시에 작업해도 버그를 조기에 발견하고 코드 품질을 유지할 수 있습니다.주로 빌드 → 테스트 → 병합의 순서로 진행됩니다.CD(Continous Deliver, Continous Deployment)Continuous Deli..
1. 서론이번 포스트에서는 Slack과 Jenkins를 연동하여 파이프라인에서 Slack으로 메시지를 보내는 방법을 알아보겠습니다.2. Slack에서 Jenkins 앱 설치Slack 에서 더보기-> 앱 으로 이동합니다.검색창에 Jenkins 입력하고 검색합니다.Jenkins 앱을 다운로드합니다.3. Jenkins 설정1) 플러그인 설치Jenkins에서 Slack Notification 플러그인을 설치합니다.2) Credentials 추가Jenkins의 Credentials 설정 화면으로 이동합니다.다음과 같이 설정합니다.Domain : Global Credentialskind : Secret TextSecret : Slack 구성 편집에서 생성한 토큰을 입력3)Slack 채널 추가Jenkins 관리 > ..