2015-01-07 7 views
0

HiveMQ는 지속성 기능에 어떤 옵션을 제공합니까? 기본적으로 파일 기반입니까? 원하는 경우 데이터베이스로 변경할 수 있습니까?HiveMQ 지속성은 어떻게 작동합니까?

나는 그물에 무언가를 찾아내는 것을 시도했다 그러나 나가 도달 할 수 있던 모두는이 메시지가 도착할 때 MySQL db를 이용하는이 MQTT-SQL-Database Plugin이었다. 사용자 가입, 통계 데이터 및 기타 모든 데이터를 데이터베이스에 유지하려고합니다. 현재 브로커를 다시 시작하면 모든 데이터가 손실됩니다.

답변

1

면책 조항 : 나는 HiveMQ

HiveMQ 1.x의 뒤에 회사에 근무하고있어 2.X가 (파일은 데이터 폴더에있는) 기본적으로 파일 기반 지속성을 사용합니다. 이것은 대부분의 유스 케이스에서 매우 잘 작동합니다. 지속성을 예를 들어로 변경할 수 있습니다. infinispan.xml 파일이있는 데이터베이스 이지만 권장하지 않습니다. 이 데이터는 실제로 HiveMQ 내부 용이므로 외부에서 수정해서는 안됩니다.

또한 통계 데이터는 임시이며 지속되지 않으므로 다시 시작한 후에도 유지되지 않습니다. 클라이언트가 영구 세션에 연결된 경우 사용자 구독이 다시 시작될 때까지 유지됩니다.

유스 케이스 (통계, 구독 등 모든 데이터를 유지)를 해결하는 가장 좋은 방법은 강력한 HiveMQ plugin system을 사용하고 있다고 생각합니다. Services을 사용하여 언제든지 구독, 클라이언트, 보관 된 메시지 등에 대한 데이터를 가져올 수 있습니다. 또 다른 방법은 the Callbacks provided by HiveMQ을 사용하는 것입니다. 브로커의 모든 측면을 가로 챌 수 있습니다 (예 : 통계 업데이트, 누군가 가입, 클라이언트 연결 끊김 등).

코드에 직접 익숙해지면 hello-world project on Github 콜백 및 서비스를 많이 사용하는이 예제를 확인하십시오. 시작하는 것은 정말 쉽습니다. 데이터베이스 연결 풀을 통합하는 방법을 보려면 this example project을 확인하십시오.

HiveMQ 관련 질문을하는 가장 좋은 방법은 HiveMQ support forum을 사용하는 것입니다. 자세한 질문이 있으면이 부분을 확인하십시오.