다음을 통해 공유


Java용 Azure Web PubSub 서비스 클라이언트 라이브러리

Azure Web PubSub 서비스는 개발자가 실시간 기능 및 게시-구독 패턴을 사용하여 웹 애플리케이션을 쉽게 빌드할 수 있도록 도와주는 Azure 관리형 서비스입니다. 서버와 클라이언트 간 또는 클라이언트 간에 실시간 게시-구독 메시징이 필요한 시나리오에서는 Azure Web PubSub 서비스를 사용할 수 있습니다. 서버에서 폴링하거나 HTTP 요청을 제출해야 하는 경우가 많은 기존의 실시간 기능도 Azure Web PubSub 서비스를 사용할 수 있습니다.

이 문서에서는 Azure Web PubSub 서비스 클라이언트 라이브러리에 대해 설명합니다.

다음 다이어그램과 같이 서버 쪽 앱에서 이 라이브러리를 사용하여 WebSocket 클라이언트 연결을 관리할 수 있습니다.

The overflow diagram shows the overflow of using the service client library.

이 라이브러리를 사용하여 다음을 수행합니다.

  • 허브 및 그룹에 메시지를 보냅니다.
  • 특정 사용자 및 연결에 메시지를 보냅니다.
  • 사용자와 연결을 그룹으로 구성합니다.
  • 연결 종료
  • 기존 연결에 대한 권한 부여, 철회 및 확인

자세한 내용은 다음을 참조하세요.

시작하기

필수 조건

패키지 포함

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-messaging-webpubsub</artifactId>
    <version>1.0.0</version>
</dependency>

연결 문자열을 사용해 WebPubSubServiceClient 만들기

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .connectionString("{connection-string}")
    .hub("chat")
    .buildClient();

액세스 키를 사용해 WebPubSubServiceClient 만들기

WebPubSubServiceClient webPubSubServiceClient = new WebPubSubServiceClientBuilder()
    .credential(new AzureKeyCredential("{access-key}"))
    .endpoint("<Insert endpoint from Azure Portal>")
    .hub("chat")
    .buildClient();

예제

전체 허브에 메시지 브로드캐스트

webPubSubServiceClient.sendToAll("Hello world!", WebPubSubContentType.TEXT_PLAIN);

그룹에 메시지 브로드캐스트

webPubSubServiceClient.sendToGroup("java", "Hello Java!", WebPubSubContentType.TEXT_PLAIN);

연결로 메시지 보내기

webPubSubServiceClient.sendToConnection("myconnectionid", "Hello connection!", WebPubSubContentType.TEXT_PLAIN);

사용자에게 메시지 보내기

webPubSubServiceClient.sendToUser("Andy", "Hello Andy!", WebPubSubContentType.TEXT_PLAIN);

문제 해결

클라이언트 로깅 사용

AZURE_LOG_LEVEL 환경 변수를 설정하여 클라이언트 라이브러리에서 작성된 로깅 문을 볼 수 있습니다. 예를 들어, AZURE_LOG_LEVEL=2를 설정하면 모든 정보, 경고 및 오류 로그 메시지가 표시됩니다. 로그 수준은 로그 수준에서 찾을 수 있습니다.

기본 HTTP 클라이언트

모든 클라이언트 라이브러리는 기본적으로 Netty HTTP 클라이언트를 사용합니다. 위의 종속성을 추가하면 Netty HTTP 클라이언트를 사용하도록 클라이언트 라이브러리가 자동으로 구성됩니다. HTTP 클라이언트 구성 또는 변경은 HTTP 클라이언트 wiki에 설명되어 있습니다.

기본 SSL 라이브러리

기본적으로 모든 클라이언트 라이브러리는 Tomcat 네이티브 Boring SSL 라이브러리를 사용하여 SSL 작업에 대한 네이티브 수준 성능을 사용하도록 설정합니다. Boring SSL 라이브러리는 Linux/macOS/Windows용 네이티브 라이브러리를 포함하는 uber jar로, JDK 내에서 기본 SSL 구현에 비해 더 나은 성능을 제공합니다. 종속성 크기를 줄이는 방법을 비롯한 자세한 내용은 [성능 튜닝][https://github.com/Azure/azure-sdk-for-java/wiki/Performance-Tuning]을 참조하세요.

다음 리소스를 사용하여 자체 애플리케이션 빌드를 시작합니다.