전체적인 로직깃허브에서 pull request 를 만들면 api gateway로 요청을 보낸다 api gateway 는 lambda의 함수를 호출하고 lambda 의 함수 로직에서 mattermost를에 메세지를 전송한다api gateway : API 만들어주는 친구. 외부 클라이언트로부터 요청을 받아 람다 함수로 연결해줌lambda : 서버리스 컴퓨팅 플랫폼(메서드만 작성해서 실행시킬 수 있음)1. Mattermost에 webhook 추가하기먼저 mattermost에 외부 메세지를 받을 수 있도록 webhook을 추가해 준다좌상단 > 통합전체 Incoming WebhookIncoming Webhook 추가하기 내용 입력 생성된 URL → 람다에서 메세지 전송할 URL 로 사용2. aws lambda 함..
최근에 DL(Data Lake) 데이터 저장소를 Logpresso에서 ClickHouse(+Nifi)로 전환하는 작업을 진행했다. 이에 따라 API 서버(Spring Boot)에서도 Logpresso에서 가지고 오던 데이터를 ClickHouse에서 가져오도록 전환을 진행했다. 이를 위해 하나의 프로젝트에 다중 데이터소스(pg, ClickHouse)를 연결해야 했다. 이 글은 그 내용을 다룬다. 1. build.gradle 에 clickhouse jdbc 추가ClickHouse JDBC를 사용하기 위해 build.gradle에 의존성을 추가해준다. 2. yml 에 clickhouse 접속 정보 추가application.yml 파일에 ClickHouse 접속 정보를 추가해준다.datasource 위의 pos..
우리 팀에서는 브랜치에 push 될 때 마다 jar를 넥서스에 올려놓는 형식으로 사용중이다넥서스를 설치한 이후 보관주기를 설정한적이 없어 서버용량의 99% 를 사용중이었고 nexus 의 기능을 이용해 cleanup 설정을 걸어줬다 1. Cleanup Policies 설정정리 정책 설정Nexus Repository Manager에 로그인한다Administration > Repository > Cleanup Policies로 이동한다 기본적인 정보들을 적어준다 Cleanup Criteria 설정:Component Age: 게시일로부터 설정한 날짜가 지났을 경우Component Usage: 설정한 날짜 동안 다운로드되지 않았을 경우Asset Name Matcher: 삭제할 대상 이름의 정규식 설정 조건을 설정..
✔ 목표 : centOS7에 제우스8 설치하고 띄워보자 0. 설치 파일 다운로드 - 아래 링크에서 진행 https://technet.tmax.co.kr/ko/front/download/findDownloadList.do TmaxSoft Technical Network [technet-01] 데모라이선스 신청 데모라이선스는 제품구입 전 테스트 및 검토를 위하여 제한 된 기간 동안 발급받아 사용가능한 라이선스 입니다. technet.tmax.co.kr 1. jeus8500_unix_generic_ko.bin 파일이 위치한 디렉터리로 이동 후 설치 파일을 실행 ./jeus8500_unix_generic_ko.bin 1)소개 -> ENTER 2) 라이센스 -> ENTER 라이센스 이어서 -> ENTER -> E..
우리 프로젝트에서는 여러개의 쓰레드를 이용하여 작업을 실행하기 위해 ThreadPoolExecutor를 이용하고 있다 쓰레드 풀의 개수는 고정적으로 사용하고 있으며, 해당 쓰레드를 실행하는 부분에서 쓰레드의 개수를 관리하며 쓰레드 풀 이상의 요청은 하지 않기 때문에 이론적으로는 쓰레드 풀이 터지는 경우는 없어야 했다. 하지만 여러 프로젝트를 진행하며 종종 쓰레드 풀이 터지곤 했는데 이번에 조금 더 깊이 파봤다 발생한 오류 는 아래와 같다 RejectedExecutionException: Task cohttp://m.xxx.xx.TrainWorker rejected from java.util.concurrent.ThreadPoolExecutor[Running, pool size = 16, active th..
kafka with raft(kafka without zookeeper)? 그동안 카프카를 사용할 때 클러스터의 메타데이터와 상태 정보를 관리하기 위해 zookeeper를 설치해 사용하고 있었다. 하지만 아파치는 KIP-500에서 카프카에서 주키퍼를 없애기로 발표했다. 카프카를 위해 주키퍼까지 설치, 관리하는것이 아니라 카프카만 설치하면 된다는 점이 매력적으로 다가왔고, 이를 적용하기로 했다. 카프카 설치 0. 카프카를 설치를 위한 사전작업 카프카 파일 다운을 위한 wget 설치 yum install wget tar 설치 yum install -y tar java 설치 https://bamdule.tistory.com/57 참고 1. 카프카 설치 # 파일 다운로드 wget https://downloads..
pg의 데이터 타입인 timestamp 와 timestamptz의 차이점에 대해 알아보자이 문서는 postgres 12 기준으로 작성되었다.postgresql 문서The SQL standard requires that writing just timestamp be equivalent to timestamp without time zone, and PostgreSQL honors that behavior. timestamptz is accepted as an abbreviation for timestamp with time zone; this is a PostgreSQL extension.=> timestamptz : timestamp with time zone의 약어timestamp : 타임존을 명시하지..
오늘은 카프카 컨슈머의 주요옵션들에 대해서 알아보고, 테스트해보자 먼저 카프카 컨슈머, 컨슈머 그룹, 리밸런싱, 오프셋, 커밋에 대해 알아야한다. 관련 내용은 아래 블로그에서 설명을 잘 하고 있으니 참고하자 리밸런싱 https://soft.plusblog.co.kr/29 오프셋, 커밋 https://freedeveloper.tistory.com/398 준비 1. aws에 주키퍼 1대, 카프카 1대를 설치한다. 2. ec2를 t2-micro사용했더니 메모리가 1Gb로 부족해서 카프카 메모리 줄여줬다 export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M" 3. 외부 사용 포트 열어주기 ## 외부 사용 포트 지정 vi kafka/config/server.properties advertis..
- Total
- Today
- Yesterday
- kafka with raft
- multiple datasource
- timestamp without time zone
- 네트워크
- 카프카
- 쓰레드 변수
- LinkedBlockingQueue
- 넥서스 파일 보관주기
- 다중 데이터소스
- 넥서스 보관주기
- jeus8
- jeus8.5
- SynchronousQueue
- 제우스8
- s3
- timestamptz
- cleanup policy
- 제우스 로그
- API Gateway
- cleanup policies
- php
- 제우스8.5
- kafka without zookeeper
- AWS
- db 두개
- 보관주기
- ThreadPoolExecutor
- 도커
- docker
- 주키퍼 없는 카프카
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |