클라이언트 라이브러리
클라이언트 라이브러리 (Client libraries)
Pulsar는 여러 언어별 공식 클라이언트 라이브러리와 언어에 구애받지 않는 라이브러리(REST, WebSocket)를 제공해요. 애플리케이션을 어떤 언어로 만들지에 따라 클라이언트를 고르면 되고, 공식 클라이언트가 마음에 안 들거나 특별한 요구가 있다면 서드파티 클라이언트도 여러 가지 준비되어 있죠. 이 페이지에서 어떤 클라이언트가 있는지 한눈에 살펴볼게요.
출처: 문서
본문
언어별 클라이언트 라이브러리 (Language-specific client libraries)
Pulsar는 다음 언어별 클라이언트 라이브러리를 지원해요.
| 언어 | 사용자 문서 | API 문서 | 릴리스 노트 | 코드 저장소 |
|---|---|---|---|---|
| Java | 사용자 문서 | API 문서 | 노트 | github.com/apache/pulsar/tree/master/pulsar-client |
| Java (Reactive Streams) | 사용자 문서 | API 문서 | 노트 | github.com/apache/pulsar-client-reactive |
| C++ | 사용자 문서 | API 문서 | 노트 | github.com/apache/pulsar-client-cpp |
| Python | 사용자 문서 | API 문서 | 노트 | github.com/apache/pulsar-client-python |
| Go client | 사용자 문서 | API 문서 | 노트 | github.com/apache/pulsar-client-go |
| Node.js | 사용자 문서 | — | 노트 | github.com/apache/pulsar-client-node |
| C#/DotPulsar | 사용자 문서 | — | 노트 | github.com/apache/pulsar-dotpulsar |
자체 클라이언트 라이브러리를 만들고 싶다면 바이너리 프로토콜 문서를 읽어보세요.
언어에 구애받지 않는 클라이언트 라이브러리 (Language-agnostic client libraries)
Pulsar는 다음 언어에 구애받지 않는 클라이언트 라이브러리도 지원해요.
| 인터페이스 | 문서 | 릴리스 노트 | 코드 저장소 |
|---|---|---|---|
| REST | 사용자 문서 | 노트 | github.com/apache/pulsar/tree/master/pulsar-broker |
| WebSocket | 사용자 문서 | 노트 | github.com/apache/pulsar/tree/master/pulsar-websocket |
클라이언트/브로커 호환성 (Client/Broker compatibility): Pulsar의 설계 목표 중 하나는 모든 버전의 클라이언트와 브로커 사이의 완전한 호환성을 보장하는 거예요. 클라이언트가 브로커에 연결할 때 사용할 프로토콜 버전에 합의해요. 그 결과, 프로토콜 업데이트에 의존하는 새 기능은 더 새로운 클라이언트와 더 새로운 브로커를 함께 사용할 때만 사용할 수 있어요.
기능 매트릭스 (Feature matrix)
클라이언트 기능 매트릭스 페이지에서 언어별 클라이언트의 최신 기능 지원 현황 개요를 확인할 수 있어요.
서드파티 클라이언트 (Third-party clients)
공식 릴리스된 클라이언트 외에도, 다양한 언어로 Pulsar 클라이언트를 개발하는 여러 프로젝트가 있어요.
자신의 저장소를 여기에 등록하고 싶다면 이 페이지 하단의 "Edit this page" 버튼을 클릭하세요.
대체 .NET (C#/F#/VB) 클라이언트 (Alternative .NET (C#/F#/VB) client)
Apache Pulsar 프로젝트의 dotPulsar 클라이언트에 대한 대안이에요.
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| pulsar-client-dotnet | .NET(C#/F#/VB)용 대체 Apache Pulsar 네이티브 클라이언트 | MIT |
대체 Go 클라이언트 (Alternative Go client)
Apache Pulsar 프로젝트의 Go 클라이언트에 대한 대안이에요.
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| pulsar-client-go | Apache Pulsar용 대체 Go 클라이언트 라이브러리 | Apache-2.0 |
Haskell
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| supernova | Haskell용 Apache Pulsar 클라이언트 | Apache-2.0 |
Node.js
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| pulsar-flex | Node.js용 현대적 Apache Pulsar 클라이언트로, C++와 독립적으로 개발됨 | MIT |
PHP
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| pulsar-client-php | Apache Pulsar용 PHP 네이티브 클라이언트 라이브러리 | MIT |
Rust
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| pulsar-rs | Apache Pulsar용 Rust 클라이언트 라이브러리 | Apache-2.0 |
Scala
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| pulsar4s | Apache Pulsar용 관용적(idiomatic), 타입세이프, 반응형 Scala 클라이언트 | Apache-2.0 | |
| neutron | Fs2 위에 구축된 Apache Pulsar용 순수 함수형 Scala 클라이언트 | Apache-2.0 | |
| neutron (profunktor's fork) | Scala 2와 3을 지원하는 Fs2 기반 Apache Pulsar 클라이언트 | Apache-2.0 |
JMS
| 프로젝트 | 설명 | 라이선스 | 배지 |
|---|---|---|---|
| pulsar-jms | Apache Pulsar용 JMS 클라이언트 라이브러리 | Apache-2.0 |
더 알아보기 (Learn more)
- 클라이언트 라이브러리 시작하기 — 클라이언트 설정 후 할 수 있는 작업을 알아봐요.
- 클라이언트 기능 매트릭스 — 언어별 클라이언트 기능 지원을 비교해봐요.
- Java 클라이언트 — 공식 Java 클라이언트 문서를 살펴봐요.
- REST API — REST 인터페이스 사용법을 알아봐요.
- WebSocket API — WebSocket 인터페이스 사용법을 알아봐요.