본문 바로가기

728x90
반응형

Back-end & Server

(52)
[Kafka] Producer와 Consumer의 한계 Kafka는 Producer와 Consumer Client를 통해 메시지를 파이프라인을 쉽게 구성할 수 있다. 하지만 전달해야할 DB가 늘어날 때 마다 Producer, Topic, Consumer도 한개씩 늘어나기 때문에 개발 비용, 반복작업이 많아 질 수 있다. 따라서, 더 간편하고 효율적으로 메시지 파이프라인을 구축하는 방법으로 Kafka에서는 Connect와 Connector라는 것이 탄생하게 되었다. Connect & Connector Connect는 데이터 시스템과 Kafka 간의 데이터를 확장 가능하고, 안전한 방법으로 Streaming하기 위한 도구이다. Connect를 사용하기 위해서 데이터를 어디로부터 가져오는지, 어디에다가 전달해야 하는지를 알려주는 Connector를 정의해야 한다...
[Kafka] Producer & Consumer 먼저 Producer와 Consumer에 대해 알아보자. Producer는 "메시지 생산"해서 Broker의 Topic으로 메시지를 보내는 역할을 하는 어플리케이션 또는 서버이다. 데이터 전송 시 "리더 파티션"을 가지고 있는 Broker와 직접 통신한다. 원하는 Topic의 파티션에 전송만하며 이후 어떤 Consumer에게 전송되는 지는 신경쓰지 않는다. Consumer는 Topic의 파티션에 저장되어 있는 "메시지를 소비"하는 역할을 하는 어플리케이션 또는 서버이다. 데이터를 요청할 때 리더 파티션을 가지고 있는 Broker와 통신하여 Topic의 파티션으로부터 데이터를 가져간다. 운영 방법은 2가지가 있다. 운영방법1 - Topic의 특정 파티션만 구독하는 Consumer 운영 운영방법2 - 1개 ..
[Kafka] 개요 보기전에 한번 보고 메시징 시스템에 대한 이해를 하고 가길 추천한다. 메시징 시스템 메시징 시스템(Message System)이란 서로 다른 Application 끼리 정보 교환하기 위해 메시지의 생성, 전송, 전달 및 저장을 가능하게 하는 시스템을 말한다. 이러한 시스템은 주로 하나의 어플리케이션 pupbani.tistory.com Kafka는 Open-source Distributed Event Streaming Platform이다. Event Streaming이란? DB, Sensor, Moblie, app... 등과 같은 곳에서 발생하는 데이터를 event stream 형태로 저장해서 나중에 검색할 수 있도록 하는 것을 말한다. 다시 말해, Kafka는 데이터를 실시간으로 처리하고, 필요에 따라서..
[FastAPI] 배포 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. FastAPI의 배포는 비교적 쉽다. 버전 FastAPI, Starlette, Pydantic의 버전이 호환되도록 설정한다. Release Notes - FastAPI FastAPI framework, high performance, easy to learn, fast to code, ready for production fastapi.tiangolo.com 배포 배포에 앞서 이 부분들을 신경써야한다. Security - HTTPS Running on Start Up Restarts Replication(the number of processes running) Memory Previous steps before starting Secur..
[FastAPI] Metadata Docs, Testing, Debugging 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. Metadata Docs /docs로 접속했을 때 나오는 Swagger UI 페이지에 Metadata를 추가할 수 있다. FastAPI()에 매개변수를 전달하면 된다. Parameter Type Description title str API의 제목 summary str API 요약 description str API 설명 version string API 버전 terms_of_service str API의 약관의 URL contact dict API 관련 연락정보, fields -> (name:str, url:str, email:str) license_info dict API 관련 라이센스 정보, fields -> (name:str, id..

728x90
반응형