일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- cd
- QueryDSL
- mysql
- Streams
- Kotlin
- transactionaleventlistener
- producer
- CI
- topic생성
- JPA
- entity graph
- K8s
- Spring JPA
- mirror maker2
- bean
- Entity
- AWS
- git
- CodePipeline
- ECS
- Spring Data JPA
- Kubernetes
- spring
- PAGING
- centos7
- consumer
- spring kafka
- API
- kafka
- offsetdatetime
- Today
- Total
목록전체 글 (101)
Yebali

카프카 커넥트란? 카프카 오픈소스에 포함된 툴 중 하나로 데이터 파이프라인 생성 시 반복 작업을 줄이고 효율적인 전송을 이루기 위한 애플리케이션이다. 특정한 작업 형태를 템플릿으로 만들어놓은 커넥터를 실행하면, 프로듀서/컨슈머 애플리케이션 개발/배포/운영 작업의 반복을 줄일 수 있다. 커넥터는 각 커넥터가 가진 고유한 설정값을 받아서 데이터를 처리한다. (ex, 파일의 데이터를 토픽으로 보내는 커넥터는 파일이존재하는 디렉토리 위치, 파일 이름을 설정해야 한다.) 커넥터의 종류 소스 커넥터 : 데이터를 토픽으로 가지고 오는 프로듀서 역할을 하는 커넥터 싱크 커넥터 : 데이터를 다른 애플리케이션으로 보내는 컨슈머 역할을 하는 커넥터 Mysql → Kafka / Kafka → Mysql 할 때, JDBC 커넥..

카프카 스트림즈란? 토픽에 있는 데이터를 실시간으로 변환하여 다른 토픽에 적재하는 라이브러리이다. 카프카 스트림즈의 장점 카프카가 공식적으로 지원하는 라이브러리이다. 그리고 카프카와 카프카 스트림즈는 함께 버전업이 되어 호환성이 서로 좋다. 스트림 처리에 필요한 다양한 기능(토픽 생성, 상태 저장, 데이터 조인 등)을 제공한다. 장애가 발생해도 장애 허용 시스템(Fault Tolerant System)을 통해 데이터가 딱 한 번만 처리되도록 보장한다. '프로듀서 + 컨슈머' vs '스트림즈' ‘프로듀서 + 컨슈머’조합으로 스트림즈와 유사한 것을 만들 수 있다. 하지만 단 한번의 데이터 처리, 장애 허용 시스템 등의 기능들은 ‘프로듀서 + 컨슈머’의 조합으로는 구현하기 어렵다. 만약 소스 토픽(사용하는 토..

회사에서 개발을 하며 가끔씩 전체 테스트를 돌려보지 않고 PR을 요청하여 Prod/Dev 서버에 배포를 하는 도중 에러가 난적이 있다. 이런 경우를 방지하기 위해 GitHub Action을 통해서 PR이 발생할 때마다, 테스트를 진행하여 배포 중 발생할 수 있는 문제를 방지하기로 했다. GitHub Action이란? Github Action은 Github 저장소를 기반한 Workflow 자동화 도구이다. Github 내부에서 프로젝트를 빌드, 테스트, 배포 등을 지원하는 CI/CD 도구이다. GitHub Action의 주요 개념 Workflow Workflow는 프로젝트를 빌드, 테스트 또는 배포하기 위한 전체적인 프로세스이다. 여러 개의 Job으로 구성되어 event기반으로 동작한다. Event Wor..

필터(Filter)란? 필터(Filter)는 J2EE표준 스펙 기능으로 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가작업을 처리할 수 있는 기능을 제공한다. 즉, 스프링 컨테이너가 아닌 톰캣과 같은 웹컨테이너에 의해 관리가 되므로 디스패처 서블릿으로 가기 전에 요청을 처리하는 것이다. 일반적으로 클라이언트와 자원 사이에는 1개의 필터가 존재하지만, 여러 개의 필터가 모여 필터 체인(Filter Chain)을 형성하기도 한다. 또한 필터는 요청/응답 정보를 변경하는 역할뿐 아니라 흐름을 변경하는 역할도 할 수 있다. 즉 필터는 클라이언트의 요청을 필터 체인의 다음 단계에 보내는 것이 아니라, 다른 자원의 결과를 클라이언트에 전송할 ..

백엔드 개발자라면 알아야 하는 상식이지만... 누군가의 물음에 답하지 못한 슬픈 일이 있어서 정리한다. 쿠키와 세션의 필요성 HTTP은 요청과 응답이 끝나면 연결을 끊어버리는 비연결 지향의 통신이며, 동시에 상태를 저장하지 않는 Stateless방식의 통신이다. 그래서 로그인과 같은 일을 할 때, '누가' 로그인 한 '상태'인지를 기억하기 위해 쿠키, 세션, 토큰을 사용한다. 쿠키(Cookie)란? HTTP의 일종으로 사용자가 어떤 웹 사이트를 방문할 경우 그 사이트의 서버를 통해 사용자 쪽에 설치되는 작은 기록 정보를 말한다. 주로 사용자의 웹 페이지의 방문 기록, 서버에서 발급된 세션을 열기 위한 키 값 등의 정보를 저장한다. (일반적으로 브라우저에 저장) 세션(Session)이란? 세션은 쿠키를 기..

참고 2021/11/24 기준으로 위의 OAuth 2.0 방식으로 얻은 Access Token으로는 The Confluence Cloud REST API에 나와있는 API를 사용할 수 없다 (401 Error 발생함) OAuth 2.0 (3LO) apps의 3.2 Construct the request URL부분을 참고하여 URL을 적절히 수정하여 사용해야 한다. Oauth Token 얻기 Oauth Token을 얻기 위해서는 아래와 같은 절차를 거친다. Confluence Oauth2(3LO) 인증용 App을 만든다. App에 필요한 권한들을 부여한다. Callback URL을 설정한다. Authorization Code 얻기 Authorization Code로 Access Token 얻기 (필요시) ..