래빗MQ 메시지 속성
1.
래빗MQ 메시지는 AMQP 스펙의 세가지 low-level 프레임으로 구성된다.
- 메소드 프레임
- 콘텐츠 헤더 프레임
- 바디 프레임
2.
콘텐츠 헤더 프레임은 Basic.Properties 데이터 구조로 사전에 정의한 값들이 있다.
- content-type : 소비자에게 메시지 본문을 해석하는 방법을 전달
ex) application/json, application/xml
- content-encoding : 메시지 본문이 어떤 방법으로 압축 or 인코딩 되었는지 전달
ex) base64, gzip
- message-id, correlation-id : 메시지, 메시지 응답 고유하게 식별
래빗MQ 메시지는 AMQP 스펙의 세가지 low-level 프레임으로 구성된다.
- 메소드 프레임
- 콘텐츠 헤더 프레임
- 바디 프레임
2.
콘텐츠 헤더 프레임은 Basic.Properties 데이터 구조로 사전에 정의한 값들이 있다.
- content-type : 소비자에게 메시지 본문을 해석하는 방법을 전달
ex) application/json, application/xml
- content-encoding : 메시지 본문이 어떤 방법으로 압축 or 인코딩 되었는지 전달
ex) base64, gzip
- message-id, correlation-id : 메시지, 메시지 응답 고유하게 식별
ex) uuid
: 어플리케이션에서 원하는 용도로 자유롭게 사용
correlation-id에는 message-id의 값을 지정할 수 있다.
- timestamp : 메시지 크기를 줄이고 메시지 생성 시점에 대한 표준 시간 전달
- timestamp : 메시지 크기를 줄이고 메시지 생성 시점에 대한 표준 시간 전달
: 이것도 어플레키에션 용도
메시지 성능 측정 가능. 메시지 수명 체크후 처리여부 결정 가능
- expiration : 메시지의 만료
: 문자열, 만료됐으면 큐에 안들어가고 삭제. 큐설정으로도 만료가능(x-message-ttl)
- delivery-mode : 메시지를 디스크 또는 메모리에 저장할지
- app-id, user-id : 문제가 발생한 발행자 어플리케이션 추적
- reply-to : 패턴을 값으로 전달해 응답 메시지를 라우팅
- headers : 메시지 라우팅할때 사용자 정의 형식의 속성 정의
- priority : 메시지 우선순위 0~9(0이 높음)
-cluster-id : (사용을 권장하지 않음)
- type : 발행자와 소비자 사이의 계약을 정의
출처 : rabbitmq in depth 3장 (도서)
- expiration : 메시지의 만료
: 문자열, 만료됐으면 큐에 안들어가고 삭제. 큐설정으로도 만료가능(x-message-ttl)
- delivery-mode : 메시지를 디스크 또는 메모리에 저장할지
- app-id, user-id : 문제가 발생한 발행자 어플리케이션 추적
- reply-to : 패턴을 값으로 전달해 응답 메시지를 라우팅
- headers : 메시지 라우팅할때 사용자 정의 형식의 속성 정의
- priority : 메시지 우선순위 0~9(0이 높음)
-
- type : 발행자와 소비자 사이의 계약을 정의
출처 : rabbitmq in depth 3장 (도서)
댓글
댓글 쓰기