2011년 8월 12일 금요일

Mosquitto Bridges Setting


Test Mosquitto Version: 0.12

composition

Server Hurukku
IP: 192.168.9.248
Port: 1883
Bridges Setting (in mosquitto.conf)
  • connection mps
  • address 192.168.9.249:1883
  • topic MPS/# both
  • cleansession true
  • clientid mps.hurukku
  • keepalive_interval 60
  • username mps
  • password mps


Server Marx
IP: 192.168.9.249
Port: 1883
Bridges Setting (in mosquitto.conf)
  • connection mps
  • address 192.168.9.248:1883
  • topic MPS/# both
  • cleansession true
  • clientid mps.marx
  • keepalive_interval 60
  • username mps
  • password mps


Description
  • connectoin: Bridge로 서로 연결될  Connect의 이름, Multiple Connection을 지원하고 각각의 이름은 Unique 해야 한다.
  • address: 상대방 Mosquitto IP와 Port
  • topic: Bridge로 공유할 topic 명시, out | in | both 에 대해서 공유여부를 지정 할수 있고, wildcard을 사용할수 있음.
  • cleansession: 어떤 이유로든 상대 Connection이 끊겼을 때 Session을 지울지 여부
  • clientid: 상대로 연결하기 위한 나의 유니크한 이름 보통 connectionname.hostname으로 지정
  • username, password: 상대 mosquitto에 권한 설정이 되어 있다면 사용.


WILDCARD TOPIC SUBSCRIPTIONS
In addition to allowing clients to subscribe to specific topics, mosquitto also allows the use of two wildcards in subscriptions. + is the wildcard used to match a single level of hierarchy. For example, for a topic of "a/b/c/d", the following example

subscriptions will match:
*
a/b/c/d
*
+/b/c/d
*
a/+/c/d
*
a/+/+/d
*
+/+/+/+

The following subscriptions will not match:
*
a/b/c
*
b/+/c/d
*
+/+/+

The second wildcard is # and is used to match all subsequent levels of hierarchy. With a topic of "a/b/c/d", the following example subscriptions will match:
*
a/b/c/d
*
#
*
a/#
*
a/b/#
*
a/b/c/#
*
+/b/c/#

댓글 1개:

  1. 아주 오래전 글이라 보실 지 모르겠지만 mosquitto bridge 설정때문에 개고생 중이라서.. 질문 하나만 드려 봅니다. ㅠㅠ

    mosquitto 브로커를 두 대의 ubuntu에 각각 설치 후 각각 아래와 같이 설정했습니다.

    ========== 브로커A ==========
    pid_file /var/run/mosquitto.pid
    persistence true
    persistence_location /var/lib/mosquitto/
    log_dest stdout
    include_dir /etc/mosquitto/conf.d
    allow_anonymous true
    allow_duplicate_messages false

    bind_address 172.16.205.68
    port 1883
    protocol mqtt

    connection mos1
    address 172.16.205.67:1883
    topic # both
    cleansession true
    clientid mos1.mosmos1


    ========== 브로커B ==========
    pid_file /var/run/mosquitto.pid
    persistence true
    persistence_location /var/lib/mosquitto/
    log_dest stdout
    include_dir /etc/mosquitto/conf.d
    allow_anonymous true
    allow_duplicate_messages false

    bind_address 172.16.205.67
    port 1883
    protocol mqtt

    connection mos1
    address 172.16.205.68:1883
    topic # both
    cleansession true
    clientid mos1.mosmos2


    그리고 별도의 PC에서 mqtt 클라이언트를 두 개 띄워서 각각 67, 68 번 host에 연결 후
    subscribe 적당히 걸고, publish를 하나 띄우면,
    subscriber에 해당 메시지가 무한반복해서 receive되더라구요.

    혹시 무슨 문제인지 아실런지...

    답글삭제

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...