- 큐리스트 확인

/home1/irteam/apps/rabbitmq/sbin

rabbitmqctl list_queues

 

- mq cluster status 확인

/rabbitmqctl cluster_status

 

-rabbit mq 타입

exchangeKey, routingkey, message

 

Exchange

 

Exchange 타입

 

Ÿ   Default Exchange

Ÿ   Direct Exchange : 각 Queue는 Routing Key에 Binding이 되어 있고, Exchange에 Routing Key가 들어오면, 그 Exchange에 Binding되어 있는 Queue중에서,  그 Key와 Mapping되어 있는 Queue로 메세지를 라우팅 한다.

Ÿ   Fan out Exchange : Routing Key에 상관 없이 Exchange에 Binding되어 있는 모든 Queue에 메세지를 라우팅 한다. (1:N 관계로, 모든 Queue에 메세지를 복제해서 라우팅 한다.)

Ÿ   Topic Exchange : Exchange에 mapping 되어 있는 Queue중에서 Routing key가 패턴에 맞는 Queue로 모두 메세지를 라우팅 한다.

Ÿ   Headers Exchange

 

- rabbit mq 사용자관리

 

# rabbitmqctl add_user <사용자> <비번>

사용자 추가

 

# rabbitmqctl set_user_tags <사용자> <태그>

사용자에게 태그설정

 

# rabbitmqctl delete_user <사용자>

사용자 제거

 

# rabbitmqctl list_users

사용자 리스트 확인

 

# rabbitmqctl change_password <사용자> <신규비번>

사용자의 비번 변경

 

# rabbitmqctl set_permissions <사용자> <접속퍼미션> ..

사용자에게 접속 퍼미션을 설정

 

# rabbitmqctl list_permissions

'/' 의 퍼미션 설정을 확인

 

# rabbitmqctl list_user_permissions <사용자>

사용자의 퍼미션을 확인

 

 

guset 삭제
# rabbitmqctl delete_user guest

bangc/1234 계정생성
# rabbitmqctl add_user bangc 1234

bangc 에게 administrator 태그를 설정
# rabbitmqctl set_user_tags bangc [administrator]

유저리스트 확인
# rabbitmqctl list_users

bangc의 접속 퍼미션을 허용
# rabbitmqctl set_permissions bangc ".*" ".*" ".*"

bangc의 퍼미션 확인
# rabbitmqctl list_user_permissions bangc

 

http://bangcfactory.tistory.com/entry/rabbitmq-%EC%82%AC%EC%9A%A9%EC%9E%90-%EA%B4%80%EB%A6%AC

 

 

'개발노트 > rabbitmq' 카테고리의 다른 글

mq 설정 관련  (0) 2018.05.15
multi-thread step

- thread pool executor
- simpleAsyncexecutor - thread pool관리의 어려움

step 실행 시 chunk 단위로 각 개별 thread에서 실행

parallel step
- step간의 병렬 처리
- 싱글 프로세스


remote-chunk
- 스텝을 다수의 프로세스로 실행
- master / slave로 나누어서 slave에서 처리

partitioning
- step을 파티션 단위로 분할

프로세스 vs 쓰레드
프로세스 : 운영체제로 부터 자원을 할당 받는 작업의 단위
              주소공간, 메모리 등 자원 할당
쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위
            프로세스 내의 주소 공간 자원들을 같은 프로세스 내에 공유


https://brunch.co.kr/@kd4/3
스레드의 장점을 정리하면 다음과 같다. 
- 시스템의 throughput이 향상된다. 
- 시스템의 자원 소모가 줄어든다 
- 프로그램의 응답 시간이 단축된다. 
- 프로세스 간 통신 방법에 비해 스레드 간의 통신 방법이 훨씬 간단하다.

출처: http://ralf79.tistory.com/34 [진형아빠이야기]

 


 기본적으로 하나의 프로세스가 생성되면 하나의 스레드가 같이 생성된다.이를 메인 스레드라고 부르며, 스레드를 추가로 생성하지 않는 한모든 프로그램 코드는 메인 스레드에서 실행된다.또한 프로세스는 여러개의 스레드를 가질 수 있으며 이를 멀티 스레드라고 한다.
http://ralf79.tistory.com/34


 스레드는 장점만 갖고 있는 것이 아니라 다음과 같은 단점도 지니고 있다. 
- 여러 개의 스레드를 이용하는 프로그램을 작성하는 경우에는 주의 깊게 설계해야 한다.     미묘한 시간 차나 잘못된 변수를 공유함으로써 오류가 발생할수 있다.  
- 프로그램 디버깅이 어렵다. 
- 단일 프로세서 시스템에서는 효과를 기대하기 어렵다.

출처: http://ralf79.tistory.com/34 [진형아빠이야기]

-jackson 기반
(프로퍼티)
@JsonProperty 

 

(null관련)
@JsonInclude 

 

 

* 필드 : JsonSerialize.Inclusion
(default)NON_DEFAULT  NON_NULL ALWAYS NON_EMPTY
int 0            X                   O              O          O   
""                X                   X              O          X
null             X                   X              O          X


serialize/deserialize 제외 필드
@JsonIgnoreProperties({"d1", "d2"})

 

*참조 : 다른 필드 추가 시 에러

 

-gson 기반
(프로퍼티)
@SerializedName 

 

(null관련)
@Expose 
int 0  O
""     O
null   X

 

* 다른 필드 추가되도 관계없음/파싱안함.

 

* 성능 jackson > gson

 

+ Recent posts