분류 전체보기(204)
-
Jenkis로 CI/CD 구축하기 (1)
CI/CD( Continuous Integration / Continuous Deployment ) 소프트웨어 개발 프로세스를 자동화하여 더 빠르고 안정적으로 배포할수 있도록 돕는 방법 Jenkins를 선택한 이유 HJ-CHAT 프로젝트의 CI/CD를 구축하면서 GitHub Actions, GitLab CI/CD 등 여러 가지 CI/CD 서비스가 존재하지만, 최종적으로 Jenkins를 선택하게 된 이유는 다음과 같다.온프레미스 및 커스텀 환경 구축 가능Jenkins는 완전히 자체 서버에서 호스팅할 수 있는 CI/CD 솔루션이기 때문에, 온프레미스 환경이나 AWS EC2와 같은 클라우드 인프라에서 직접 운영할 수 있다. 이는 HJ-CHAT 프로젝트의 배포 환경을 유연하게 설정하는 데 큰 장점이 된다.다양한..
2025.02.08 -
Kafka timeout 오류
❎ 문제발생 배포된 사이트에서 채팅 기능을 사용중 해당 오류가 발생하였다. 바로 내가 보낸 메세지를 입력해도 서버에는 도착하지만 실제로 메세지가 전달되지 않는것이다. docker logs hjchat-server 🆘 해결 과정 Disconnecting from node 2147483646 due to request timeout 로그를 통해 Kafka Broker가 Consumer와의 연결을 유지하지 못하고 타임아웃이 발생했다는것을 확인할 수 있었다.아무래도 원인은 confluence/kafka -> bitami/kafka로 변경하면서 발생한 것으로 보여진다. (유일하게 바뀐 부분이기 때문에 이렇게 생각하였다.) kafka 내부로 접속docker exec -it a4306218fa67 /bin/..
2025.02.07 -
𝓓𝓮𝓼𝓲𝓰𝓷 𝓟𝓪𝓽𝓽𝓮𝓻𝓷𝓼
✔오늘 배운 중요한 🔑 point디자인 패턴은 코드를 구조화하고 유지보수성을 높이며, 재사용성을 극대화하는 데 도움을 준다.디자인 패턴은 단순한 코드 작성법이 아니라 특정한 문제를 해결하기 위한 검증된 방법이다. 따라서 어떤 문제를 해결하기 위해서 해당 패턴이 만들어졌는지를 이해하는것이 중요하다.디자인 패턴을 제대로 사용하기 위해서는 적절한 상황에서 올바른 패턴을 선택하는 능력이 중요하다.🎯 오늘 배운 내용 적절한 패턴 선택객체를 하나만 유지해야 함싱글톤 패턴로깅, 데이터베이스 연결 등객체 생성을 유연하게 관리하고 싶음팩토리 메서드 패턴객체 생성 로직을 숨기고 싶을 때동적으로 알고리즘을 변경하고 싶음전략 패턴런타임에 알고리즘을 선택 가능하게복잡한 서브 시스템을 단순하게 제공하고 싶음퍼사드 패턴여러 클..
2025.02.05 -
𝓗𝓙-𝓒𝓗𝓐𝓣
시연 영상: https://www.youtube.com/watch?v=AnaaG_2nfmw 배포된 주소: https://hj-chat.com/ HJ CHATskill SPRING BOOT Web Socket Kafka Redishj-chat.com GitHub: https://github.com/kotlin2024/HJCHAT GitHub - kotlin2024/HJCHAT: 실시간 채팅 API실시간 채팅 API. Contribute to kotlin2024/HJCHAT development by creating an account on GitHub.github.com
2025.01.29 -
서버 배포 명령어
ec2 인스턴스 접속ssh -i "C:\Users\wnd2g\Desktop\AWS EC2 키페어\HJ-CHAT-BACKEND-SERVER-KEY-PAIR.pem" ubuntu@3.36.182.4 docker-compose 전송scp -i "C:\Users\wnd2g\Desktop\AWS EC2 키페어\HJ-CHAT-BACKEND-SERVER-KEY-PAIR.pem" "C:\Users\wnd2g\IdeaProjects\HJCHAT\docker-compose.yml" ubuntu@3.36.182.4:/home/ubuntu/ dockerfile 전송scp -i "C:\Users\wnd2g\Desktop\AWS EC2 키페어\HJ-CHAT-BACKEND-SERVER-KEY-PAIR.pem" "C:\Users\w..
2025.01.29 -
kafka 실행중 EC2 메모리 부족으로 인한 실행 종료
❎ 문제발생EC2 서버에 내 서버와 KAFKA를 설치하였으나 메모리 용량 부족으로 인해서 실행이 중단되는 문제가 발생하였다. 🆘 해결 과정현재 ec2 인스턴스의 사용가능 메모리는 500mb정도 이지만 KAFKA는 기본적으로 1GB의 힙메모리를 사용한다.ec2 인스턴스를 프리티어가 아닌 더 높은 티어의 인스턴스를 사용하면 해결이 되지만 비용적인 문제가 있기 때문에 EC2의 디스크 공간 일부를 임시 메모리로 사용하는 방법을 선택하였다.대신에 RAM이 아니라 디스크이기 때문에 RAM에 비해서는 많이 느린편이다. 스왑 파일로 문제 해결# 1. 스왑 파일 생성 (예: 1GB)sudo fallocate -l 1G /swapfile# 2. 스왑 파일 권한 설정sudo chmod 600 /swapfile# 3. ..
2025.01.26