분류 전체보기 (1020) 썸네일형 리스트형 kafka Consumer의 offset(Lag)이 1이 지속되는 현상(트랜잭션 적용 시) MSK 설정에 따른 컨슈머 lag 1 발생 현상중복 및 정확히 한번만 처리하기 위한 멱등적 프로듀서 설정 및 카프카 트랜잭션 적용kafka 에서 트랜잭션 커밋 메시지를 찍는데, 이 때 컨슈머가 해당 트랜잭션이 적용된 커밋 메시지의 오프셋은 읽지 않음이것은 kafka에서 발급하는 해당 파티션의 트랜잭션 커밋 메시지가 unreadable이기 때문이며 이에 따라 컨슈머는 트랜잭션이 적용된 커밋 메시지를 읽지 못하므로 항상 컨슈머 lag 1이 발생하게됨 EstimatedMaxTimeLag 추정치 지표 실험14시 10~15분 -> 5분간 kafka 브로커로 직접 100개 호출트랙잭션 미적용 프로듀서라 Offset Lag 014시 25~30분 → 5분간 트랜잭션 적용된 프로듀서를 통해서 100개 호출트랜잭션 적용 .. github PR re-request review 알림이 slack에 오게 하기 1. 배경github PR 시에 re-request reivew 요청을 했을 때, 이메일로는 알림이 오는데 slack 등으로 알림(webhook)이 안와서 불편했다. 임시방편으로 각 기안자가 리뷰어들을 슬랙에서 태깅해서 호출하고 있었는데, 자동화되지 않은 부분이라 불편함이 있을 것 같아서 직접 시도해보았다. 조직의 workspace가 설정되어있다는 전제 하에 아래 내용들을 기록해둔다. 기본적으로 slack에 github app을 설치하고, /github ... 명령어를 통해 알림을 추가할 수 있으나, PR 상태별로 세분화하거나, 브랜치별로 나눠서 적용하는 방법 등이 없기 때문에 아래 방법으로 나누어 커스터마이징 했다. 2. Slack 설정다음 slack api 페이지에 들어가서 Your apps를 클.. Keycloak Scope 설정 방법(Evaluate, mapper, dedicated, full scope allowed) 1. User Attribute 추가, 토큰에 포함 확인 1.1 User Attribute 추가User Profile에 속성값을 추가하고(nickname), Client Scopes에 추가하여 Realm 내에서의 Scope를 설정할 수 있다. User Profile에서 속성을 추가할 때, Enabled when 값을 default인 Always로 설정하면 아래 내용대로 적용된다. 1.2 토큰 확인scope를 생성할 때 Default로 생성하는 경우 access_token 및 id_token에 기본적으로 포함된다. 다만 따로 설정하지 않으면 token endpoint 응답 body의 "scope" 항목에는 보이지 않는다(아래 그림). 주의할 사항은 로그인하는 사용자의 nickname 값 자체가 설정되어.. [비공개] Weekly Report - 25/01/27~24/02/02, 1681일차 보호되어 있는 글입니다. [제철음식 알리미] firebase function로 scheduler 만들기. 기초 학습하기 1. 배경 제철음식 알리미에서 푸시 알림을 주기적으로 전송하는 스케줄러를 적용하고 있었다. 내 macOS의 로컬 launchctl을 사용(https://whitepro.tistory.com/1018)하여 전송하고 있었는데, 로컬 컴퓨터에 부하를 줄 수도 있을 것 같았고 firebase functions를 적용해도 무료할당량이 월 호출 수 200만회까지는 무료라서 해당 앱에서는 비용이 들지 않을거라고 판단하여 공부해보고 적용하게 되었다. python, vscode를 기반으로 하는 내용이다. 2. 세팅하기functions에 나오는대로 로컬에 npm을 이용하여 전역으로 firebase-tools를 설치해주면 firebase CLI를 통해 functions에 관련한 여러 명령어들을 입력하고 제어할 수 있.. 구글 gmail을 이메일 서버(SMTP)처럼 활용하기 인증 서버를 구축하는데, 이메일을 발송할 수 있도록 해주는 SMTP 서버가 필요했다. 아래와 같이 세팅하고 사용하면 된다. 워크스페이스에 속한 계정이여야한다. 1. gmail -> 톱니바퀴 모양 -> 모든 설정 보기 2. 전달 및 POP/IMAP -> IMAP 사용에 체크한다. 3. 구글 계정 -> 보안 -> 2단계 인증 설정 4. 2단계 인증 -> 앱 비밀번호에서 설정설정된 비밀번호는 스페이스로 구분되어 4개로 구성되는데, 사용하는 곳에서 중간 스페이스들은 제거하고 입력해야한다. 사용 가능한 일 발송량은 다음과 같다. 무료 워크스페이스에 속하는 계정인 경우: 500회/일유료 워크 스페이스에 속한 계정의 경우: 2000회/일https://support.google.com/a/answer/16685.. [비공개] Weekly Report - 25/01/20~24/01/26, 1674일차 보호되어 있는 글입니다. postman 로그인 Token을 요청마다 실어주는 방법 1. Environment에 토큰을 저장할 변수를 등록. 기본값은 ""로 넣어주면 된다. 2. 아래처럼 Scripts 부분에 코드를 입력하면, 로그인 요청 후 Token 값을 login_token 변수에 실어준다.var data = JSON.parse(responseBody);pm.environment.set('login_token', data.access_token) 3. 토큰이 필요한 API에서 Authorization -> Bearer Token 선택(원하는 형태의 토큰 선택) 후 {{login_token}}이라고 변수를 설정해주면 된다. 이전 1 2 3 4 5 6 7 ··· 128 다음