Pulsar API 개요
Pulsar API 개요
Pulsar는 다양한 규모의 조직에서 스케일링할 수 있는 메시징 및 스트리밍 플랫폼이에요. Pulsar API는 Pulsar의 핵심 구성 요소로, 클라이언트 API로 애플리케이션을 만들고 관리 API로 Pulsar 클러스터를 운영하는 두 가지 큰 축을 제공해요. 오늘은 이 두 API가 무엇이고 서로 어떻게 다른지 함께 살펴볼게요.
출처: 문서
본문
Pulsar 클라이언트 API (Pulsar client APIs)
Pulsar 클라이언트 API는 Pulsar의 클라이언트-브로커 통신 프로토콜을 캡슐화하고 최적화하면서, Pulsar의 기본 요소(primitive)를 활용해 추가 기능을 제공해요. 이 API로 할 수 있는 일은 다음과 같아요.
- 프로듀서(producer), 컨슈머(consumer), 리더(reader)를 생성하고 구성하기
- 메시지 생성(produce) 및 소비(consume)하기
- 인증(authentication)과 권한 부여(authorization) 작업 수행하기
Pulsar는 언어별 바인딩으로 클라이언트 API를 제공해요. 언어별 클라이언트 라이브러리, 기능 매트릭스, 서드파티 클라이언트를 포함한 자세한 내용은 Pulsar client - Overview 문서를 확인해요.
Pulsar 관리 API (Pulsar admin APIs)
관리 API의 자세한 내용은 Pulsar admin API - Get started 문서를 참고해요.
비교 (Comparison)
Pulsar 클라이언트 API와 관리 API를 간단히 비교하면 다음과 같아요.
| 구분 | Pulsar 클라이언트 API | Pulsar 관리 API |
| 대상 | 개발자 | DevOps |
| 목표 | Pulsar로 애플리케이션 구축 | Pulsar 클러스터 운영·관리 |
| 사용 사례 | 실시간 데이터에 의존하는 애플리케이션을 만들 수 있어요. 예를 들어 사기 알림을 처리하는 금융 애플리케이션이나 사용자 활동 기반 추천을 만드는 eCommerce 애플리케이션을 구축할 수 있어요. | 단일 엔드포인트에서 클러스터, 테넌트, 네임스페이스, 토픽을 포함한 전체 Pulsar 인스턴스를 관리할 수 있어요. 예를 들어 보안·컴플라이언스를 구성하거나 브로커 정보를 확인하고 문제를 점검한 뒤 해결책을 찾을 수 있어요. |
| 주요 기능 | - 프로듀서·컨슈머·리더·TableView로 데이터 처리
- 인증·권한 부여로 데이터 보호
- 트랜잭션·스키마로 데이터 보호
- 클러스터 레벨 자동 장애 조치로 데이터 안정화 | - 인증·권한 부여 구성
- 데이터 보존 및 리소스 격리 정책 설정
- 애플리케이션 개발 워크플로 지원
- Pulsar 문제 해결 |
| 인터페이스 | - Java client
- C++ client
- Python client
- Go client
- Node.js client
- C# client
- WebSocket API
- REST, 메시지 생성용
각 페이지에서 해당 클라이언트의 API 레퍼런스를 확인할 수 있어요. 클라이언트 라이브러리 개요와 기능 매트릭스도 참고해요. | - pulsar-admin CLI, Java 및 Go 관리 라이브러리
- REST API, OpenAPI 스펙으로 다른 언어의 클라이언트도 생성 가능 |
더 알아보기 (Learn more)
- 클라이언트 라이브러리별 상세 사용법은 Pulsar client - Overview에서 확인해요.
- 관리 API를 처음 접한다면 Pulsar admin API - Get started를 살펴봐요.
- REST API와 OpenAPI 스펙에 대해 더 알고 싶다면 REST APIs and OpenAPI specifications 문서를 봐요.
- 용어가 헷갈릴 땐 Terminology 문서를 참고해요.