프로젝트 초기에 CI/CD를 구성하며 최대 저장 개수를 정해놓지 않아 20기가 가까운 빌드가 쌓인 적이 있다. 그럴때 우선 해야 할 조치는 최대 저장 개수를 설정하는 것이고, 두 번째로 해야 할 일이 쌓여있는 빌드를 지워주는 것이다. 방법은 다음과 같다. 젠킨스 웹에서 Jenkins 관리>Script Console에 들어가 다음 코드를 실행시킨다.def job = Jenkins.instance.getItemByFullName("your-job-name")def builds = job.getBuilds()int buildCount = 0builds.each { build -> if (buildCount >= 5) { build.delete() } buildCount++}여기서 ..
지속적으로 추가할 예정. 실행중인 도커로 진입 docker container exec -it kafka-kafka-broker-1-1 bash 특정 토픽 내용 확인하기 kafka-console-consumer --bootstrap-server localhost:9092 --topic topicA31 --from-beginning 특정 토픽 생성 kafka-topics --bootstrap-server localhost:9092 --create --topic topicA01 --partitions 1 --replication-factor 1 특정 토픽 삭제 kafka-topics --bootstrap-server localhost:9092 --delete --topic test-topic 특정 그룹 토픽 ..
목차 회사에서 카프카를 사용한 데이터 파이프라인을 스터디하다 보니 데이터 추적을 위한 스키마의 필요성을 깨달았다. 그리고 검색을 해 본 결과 내가 찾던 대상이 레지스트리 스키마이며, 카프카를 사용하는 데 있어서는 사실상의 필수라 했다. 바쁘게 구현하느라 코드의 품질이 떨어지긴 하지만 그나마라도 다음 글에 올려두기로 하고, 이 글에서는 스키마 레지스트리와 Avro에 대해 짧게 짚고 넘어가자. Schema Registry 스키마 레지스트리는 일종의 데이터 저장소이다. RDBMS와 같이 스키마를 만들어서 중간에 자료를 저장하는 역할을 한다. 특별히 여러 언어와 서비스에서 사용하는 Avro 스키마를 저장 및 버전관리를 해주는 앱으로 보면 된다. 이를 통해 데이터의 생산(Produce)과 소비(Consume)가 ..
목차 지난 글에서, 도커로 카프카를 실행하고 자바 프로젝트의 yml파일을 아래와 같이 구성했다. spring: kafka: topic: myTopic: test-topic consumer: bootstrap-servers: localhost:9092 group-id: test auto-offset-reset: earliest producer: bootstrap-servers: localhost:9092 이번 글에선 위 설정을 바탕으로 실제 프로듀서와 컨슈머를 구현한 뒤, 간단한 사칙연산을 구현해 보겠다. 들어가기 전에 먼저, 위 설정은 보안과 관련된 부분이 전부 제거된 상태이기 때문에 MSK 사용 시 해당 설정을 추가해야 한다. KafkaProducerConfig 먼저 프로듀서에 대한 설정이다. 굉장히 ..
목차 한 달쯤 전에 올렸던 글에서, 야심 차게 MSK를 도입하겠노라고 선언을 했었다. [Cloud]Java 17 + WebFlux 환경에 AWS MSK 도입하기(1) - MSK? [Cloud]Java 17 + WebFlux 환경에 AWS MSK 도입하기(1) - MSK? 목차 Apache Kafka 아파치 카프카는 그 유명한 링크드인에서 개발해 11년에 공개한 오픈소스 메시지 브로커 프로젝트이다. Message Broker 오픈소스는 그렇다 치고 메시지 브로커라는 단어를 처음 보니 gnidinger.tistory.com 그 이후 이리 구르고 저리 구르다가 알게 된 사실은, 로컬 환경에서 MSK로 접근하는 건 불가능한 것은 아니지만 쉽지 않다는 것. 가장 쉽게 MSK에 접근하는 방법은 같은 VPC안에 EC..
목차 Apache Kafka 아파치 카프카는 그 유명한 링크드인에서 개발해 11년에 공개한 오픈소스 메시지 브로커 프로젝트이다. Message Broker 오픈소스는 그렇다 치고 메시지 브로커라는 단어를 처음 보니 정리하고 지나가자면, 브로커라는 단어 뜻 그대로 프로그램 간의 메시지를 전달하는 중개인 역할을 하는 앱이라고 생각하면 된다. 출처: https://www.g2.com/articles/message-broker 특히 카프카는 복잡한 시스템에서 컴포넌트 간의 통신을 담당하며, 이 과정에서 컴포넌트들이 직접 통신하는 대신 카프카를 통해 메시지, 즉 요청과 응답을 주고받는다. 이를 통해 시스템은 컴포넌트 사이의 결합도를 낮추는 동시에, 확장성과 유연성을 동시에 높일 수 있게 된다. Key Featur..
작은 프로젝트를 개발하면서는 만날 일이 없지만, 의외로 회사에서 일하다 보면 3분이 넘는 요청을 처리해야 하는 경우가 종종 있다. 스프링 부트의 경우, application.yml에 명시적인 타임아웃 설정이 없다면 연결 타임아웃은 기본 30초, 읽기 타임아웃은 기본적으로 무제한으로 설정된다. 하지만 AWS를 이용해 배포를 하는 경우, 특별히 설정을 해주지 않으면 60초 만에 타임아웃 에러가 뜨는데, 이런 경우 .yml 파일에 명시적으로 타임아웃을 길게 적어도 해결되지 않는 것을 확인할 수 있다. 해결 방법은 AWS의 어느 서비스를 사용하느냐에 따라 다르겠지만, 나의 경우 EC2, ELB, Route53을 사용하고 있다. 이런 경우 해결책은 생각보다 허무한데, 우선 AWS 콘솔에 로그인한 뒤, EC2에서 ..
목차 두 대의 EC2로 CI/CD 구현하기 [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(1/3) [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(2/3) 지난 글까지 해서 젠킨스 설정의 대략 절반을 정리했다. 이번 글에서 끝을 보는 것이 목표! Project Settings 프로젝트 세팅은 순서대로 하나의 섹션으로 정리한다. 먼저 대시보드로 돌아와 새로운 아이템을 누른다. 다음 창에서 프로젝트 이름을 정해주고 Freestyle project 클릭 후 아래로 스크롤을 내려 OK. 이어지는 화면에서 GitHub project를 누르고 레포지토리 URL을 입력해 준다. 다음은 바로 아래에 위치한 소스 코드 관리. 레포지토리 URL을 위와 같이 주소.git으로 입력하고 크..
목차 두 대의 EC2로 CI/CD 구현하기 [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(1/3) [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(3/3) 다시 강조하자면, 이 글은 https://backtony.github.io/spring/aws/2021-08-08-spring-cicd-1/#%EB%8F%84%EC%BB%A4-%EC%84%B8%ED%8C%85 Spring & Jenkins & Docker & DockerHub & GitHub 활용한 CI/CD Java, JPA, Spring을 주로 다루고 공유합니다. backtony.github.io 위 글을 사실상 베낀 것이다. 물론 그 사이의 UI 변화나 메뉴명의 변화는 새로 스크린샷을 찍으며 반영했고 오타도 ..
목차 두 대의 EC2로 CI/CD 구현하기 [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(2/3) [Jenkins+Docker]두 대의 EC2로 CI/CD 구현하기(3/3) 시작하기 전에, 이 글은 https://backtony.github.io/spring/aws/2021-08-08-spring-cicd-1/#%EB%8F%84%EC%BB%A4-%EC%84%B8%ED%8C%85 Spring & Jenkins & Docker & DockerHub & GitHub 활용한 CI/CD Java, JPA, Spring을 주로 다루고 공유합니다. backtony.github.io 위 글을 사실상 그대로 베낀 것이다. 몇 번이고 젠킨스+도커로 배포를 하면서 수없이 많이 읽었고 도움을 많이 받았으나..
- Total
- Today
- Yesterday
- 칼이사
- 스프링
- 동적계획법
- Python
- Algorithm
- 스트림
- RX100M5
- 파이썬
- spring
- 기술면접
- 유럽
- 야경
- 자바
- a6000
- 유럽여행
- 세계여행
- java
- Backjoon
- 리스트
- 여행
- 맛집
- 세모
- 남미
- 중남미
- 지지
- 백준
- BOJ
- 알고리즘
- 세계일주
- 면접 준비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |