일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mybatis
- Docker Compose
- spring boot
- vue.js
- Redis Sentinel
- QueryDSL
- weblogic 10
- MySQL
- jmeter
- docker-compose
- Hibernate
- Selenium
- spring cloud
- grafana
- coalesce
- netflix oss
- docker
- docker compose mysql
- KAFKA
- ChannelPipeline
- cassandra
- spring boot redis
- redis
- RabbitMQ
- JPA
- Netty
- WebLogic
- Spring Open Feign
- Airflow
- argo cd
- Today
- Total
목록전체 글 (404)
IT.FARMER
docker env, arg 차이점 docker 에서 env 와 arg는 변수로 선언 할 때 사용한다. 둘 다 비슷해 보이긴 하지만 다른 명령어 임을 기억하자 . 1. ARG (Argument) docker 빌드중에만 사용되는 빌드 타임 환경 변수이다. docker 명령어에서 ‘—build-arg’ 플래그(FLAG)를 사용하여 값을 전달 할 수 있다. 주로 이미지 빌드 프로세서에서 인자를 전달하고 이미지의 컨텍스트에 따라 변경 가는한 값으로 사용된다. docker 이미지내에서는 사용 불가능 하며, 빌드중에만 사용된다. 예시: ARG VERSION=latest FROM ubuntu:$VERSION 실행 예시: docker build --build-arg VERSION=1.0 -t myimage ./Dock..
dockerfile에 springboot profile 적용하기 docker file ENV USE_PROFILE 을 환경설정 파일로 만들고 docker run 시에 설정 정보를 넣어서 실행할 수 있도록 한다. 디폴트 값은 local 이다. # docker file # 1. Start with a base image containing Java runtime FROM adoptopenjdk/openjdk11 # 2. Add Author info LABEL maintainer="skan@" # Add a volume to /tmp VOLUME /tmp # Make port 8761 available to the world outside this container EXPOSE 8761 # The applic..
Jenkinsfile 에서 변수사용시 차이점 ${env.propertie-name} 과 ${properties}의 차이는 env. 으로 시작되는 파일은 Jenkins 에서 변수로 생성해둔 파일을 사용할때 사용한다. 이프로젝트는 매개변수가 있습니다 를 체크한다 이후 String Parameter.. 등등 선택하여 매개변수명을 등록한다. 이후 위에서 언급한바와같이 ${env.매개변수명} 을 입력하여 사용한다. 또한 Jenkins 에서는 사용할수 있는 환경변수들이 있는데 그중 하나가 BUILD_NUMBER 이다. 빌드넘버는 여기 히스토리에 표시되는 값과 동일하다. 해당값을 이용하여 Jenkins의 execute shell 탭에서 활용 할 수도 있다. 이렇게 하면 Jenkins 빌드넘버로 jar 파일을 관리하며..
카프카 컨슈머 그룹의 리벨런싱 카프카는 컨슈머그룹이 존재한다. 이때 컨슈머그룹에서 broker가 잘못되어 빠지게 되거나, 그룹에 추가적인 컨슈머가 들어올때 리벨런싱을 진행하게 된다. 리벨런싱이 일어날때 Consumer 의 Partitioner 가 어떤 전략을 사용했느냐에 따라 컨슈머가 연결되는 Topic의 partition 이 달라진다. 프로듀서와 컨슈머에대한 파티션전략은 여기를 참고 kafka partitioner 전략 (consumer) - 작성중 kafka partitioner 란? (producer, consumer) 리벨런싱(rebalancing)이 생기는 이유 Consumer Group 내의 consumer 가 추가 되거나 삭제될때 클러스터링 확장 혹은 컨슈머 브로커에서 장애가 발생했을때 일어..
1. KafKa Offsets commit 정책 consumer configuration 에서 commit config 를 false로 설정 되었을경우, 즉 commit을 자동으로 하지 않았을 경우에 어떤게 commit을 할지 결정 하는 모드 이다. 커밋 오프셋을 하기 위한 몇가지 옵션이 존재 하며, 기본 BATCH 이고 다른 옵션으로 사용 가능하다. https://docs.spring.io/spring-kafka/reference/html/#committing-offsets 근데 이렇게 기본옵션인 auto commit을 사용하게 되면 배치모드로 동작하게되고 특정 부분에서 문제가 생겼을때, 유실되는 부분이 생길수있다. (spring boot 의 자동커밋 기본 시간은 5000ms) 그래서 중요한 업무를 수..
kafka partitioner 종류와 전략 (producer) 1. Kafka Producer의 Partition 종류 카프카 프로듀서에는 몇 가지 파티션분배 전략이 존재한다. 이중 자주사용되거나 중요한 몇가지에 대해서만 이야기 해보자 . DefaultPartitioner - 기본(org.apache.kafka.clients.producer.DefaultPartitioner) 메세지의 키 또는 라운드 로빈 방식에 따라 메세지를 토픽의 파티션에 할당한다. 동일한 키는 항상 동일한 파티션으로 분배되도록 하고, 키가없는 경우에만 라운드로빈으로 된다. 메세지 처리시 순서보장은 하지 않는다. → 이전략은 일반적으로 키가 랜덤하게 생성되는경우에 사용할수있다. RoundRobinPartitioner(org.apac..
컨슈머 그룹(consumer group) offset 관리 및 reset 방법 1. Consumer offset - reset(리셋) 방법 운영중에 특정 offset으로 이동하여 다시 실행하고자 할경우에 사용할 수 있다. 혹은 테스트중에 컨슈머를 모두 리셋시키고 싶을경우에 사용한다. 1.1 컨슈머 삭제 컨슈머그룹을 바꿔주거나 컨슈머를 삭제고 다시 생성하는게 제이 빠른것 같다. kafka-consumer-groups.sh --bootstrap-server : --group --topic --delete --execute 1.2 컨슈머 offset 변경방법 (리셋) 오프셋 변경방법에도 여러가지가 있다. 타임 단위로 이동할 수도 있고 , 초기상태로도 할 수있다. 즉 kafka 컨슈머 그룹의 offset을 리셋..
2020.05.13 - [MessageQueue/Kafka] - kafka cluster 구성 kafka 설치 (Single mode) 1. kafka 최신 파일 다운로드 💡 kafka는 단독으로 동작되지 않고 zookeeper에 의해 관리 되기 때문에 zookeeper를 함께 설치 하여하 한다. 기본적으로 kafka를 다운받으면 기본적으로 검증된 zookeeper 가 들어 있기때문에 다운 받지 않고 패키지 않에 들어 있는 zookeeper를 사용한다. wget --2021-03-18 15:37:56-- Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 2a01:4f8:10a:201a::2 Connecting to downloa..
브로커? 파티션과, 리플리케이션, ISR 이란? 브로커란 kafka가 설치된 물리적 서버를 칭한다. 파티션과 리플리케이션은 토픽 생성시에 정하게 된다. 브로거카 3대 라고 생각하면 1:1, 1:2, 1:3 과 같이 파티션갯수, 리플리케이션 팩터를 지정 할 수있다. 토픽을 이렇게 생성하게 되면 브로커에서 다음과 같이 구성된다. partition : 3, replication fector :1 partition : 3, replication fector :2 partition : 3, replication fector :3 위의 그림들을 보면 선언한것 처럼 partition 은 각 노드별로 1번만 사용하며, 복제는 1,2,3 으로 지정한 것을 사용 할 수있다. ISR(In Sync Replica) 이란 이처..