검색

12장. 상호 운용성

download PDF

이 장에서는 다른 AMQ 구성 요소와 함께 Red Hat build of Rhea를 사용하는 방법에 대해 설명합니다. AMQ 구성 요소의 호환성 개요는 제품 소개 를 참조하십시오.

12.1. 다른 AMQP 클라이언트와 상호 작용

AMQP 메시지는 AMQP 유형 시스템을 사용하여 구성됩니다. 이러한 공통 형식은 다른 언어의 AMQP 클라이언트가 서로 상호 운용할 수 있는 이유 중 하나입니다.

메시지를 보낼 때 Red Hat build of Rhea는 언어 네이티브 유형을 AMQP 인코딩 데이터로 자동으로 변환합니다. 메시지를 수신하면 역방향 변환이 수행됩니다.

참고

AMQP 유형에 대한 자세한 내용은 Apache Cryostat 프로젝트에서 유지 관리하는 대화형 유형 참조 에서 확인할 수 있습니다.

표 12.1. AMQP 유형
AMQP 유형설명

null

빈 값

부울

true 또는 false 값

char

단일 유니코드 문자

string

유니코드 문자 시퀀스

바이너리

바이트 시퀀스

byte

서명된 8비트 정수

short

서명된 16비트 정수

int

부호 있는 32비트 정수

long

부호 있는 64비트 정수

ubyte

서명되지 않은 8비트 정수

ushort

서명되지 않은 16비트 정수

uint

서명되지 않은 32비트 정수

ulong

서명되지 않은 64비트 정수

플로트

32비트 부동 소수점 숫자

double

64비트 부동 소수점 숫자

array

단일 형식의 값 시퀀스

list

변수 유형 값의 시퀀스

map

고유 키에서 값으로 매핑

UUID

범용 고유 식별자

기호

제한된 도메인에서 7비트 ASCII 문자열

timestamp

시간 내 절대 지점

JavaScript는 AMQP에서 인코딩할 수 있는 것보다 기본 유형이 적습니다. 특정 AMQP 유형이 포함된 메시지를 보내려면 rhea/types.js 모듈에서 wrap_ 함수를 사용합니다.

표 12.2. Red Hat build of Rhea 유형의 인코딩 전 및 디코딩 후
AMQP 유형Red Hat build of Rhea 유형의 인코딩 전디코딩 후 Red Hat build of Rhea 유형

null

null

null

boolean

boolean

boolean

char

wrap_char(number)

number

string

string

string

바이너리

wrap_binary(string)

string

byte

wrap_byte(number)

number

short

wrap_short(number)

number

int

wrap_int(number)

number

long

wrap_long(number)

number

ubyte

wrap_ubyte(number)

number

ushort

wrap_ushort(number)

number

uint

wrap_uint(number)

number

ulong

wrap_ulong(number)

number

플로트

wrap_float(number)

number

double

wrap_double(number)

number

array

wrap_array(Array, code)

array

list

wrap_list(Array)

array

map

wrap_map(object)

object

uuid

wrap_uuid(number)

number

기호

wrap_symbol(string)

string

timestamp

wrap_timestamp(number)

number

표 12.3. Red Hat build of Rhea 및 기타 AMQ 클라이언트 유형 (1 중 2)
Red Hat build of Rhea 유형의 인코딩 전AMQ C++ 유형Red Hat build of Apache Cryostat Proton DotNet 유형

null

nullptr

null

boolean

bool

system.Boolean

wrap_char(number)

wchar_t

system.Char

string

std::string

system.String

wrap_binary(string)

proton::binary

System.Byte[]

wrap_byte(number)

int8_t

system.SByte

wrap_short(number)

int16_t

System.Int16

wrap_int(number)

int32_t

system.Int32

wrap_long(number)

int64_t

System.Int64

wrap_ubyte(number)

uint8_t

system.Byte

wrap_ushort(number)

uint16_t

System.UInt16

wrap_uint(number)

uint32_t

system.UInt32

wrap_ulong(number)

uint64_t

System.UInt64

wrap_float(number)

플로트

system.Single

wrap_double(number)

double

system. Cryostat

wrap_array(Array, code)

-

-

wrap_list(Array)

std::vector

Amqp.List

wrap_map(object)

std::map

Amqp.Map

wrap_uuid(number)

proton::uuid

system.Guid

wrap_symbol(string)

proton::symbol

Amqp.Symbol

wrap_timestamp(number)

proton::timestamp

System.DateTime

표 12.4. Red Hat build of Rhea 및 기타 AMQ 클라이언트 유형 (2 of 2)
Red Hat build of Rhea 유형의 인코딩 전Red Hat build of Apache Cryostat Proton Python 유형 

null

없음

 

boolean

bool

 

string

unicode

 

wrap_char(number)

unicode

 

wrap_binary(string)

바이트

 

wrap_byte(number)

int

 

wrap_short(number)

int

 

wrap_int(number)

long

 

wrap_long(number)

long

 

wrap_ubyte(number)

long

 

wrap_ushort(number)

long

 

wrap_uint(number)

long

 

wrap_ulong(number)

long

 

wrap_float(number)

플로트

 

wrap_double(number)

플로트

 

wrap_array(Array, code)

proton.Array

 

wrap_list(Array)

list

 

wrap_map(object)

dict

 

wrap_uuid(number)

-

 

wrap_symbol(string)

str

 

wrap_timestamp(number)

long

 
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.