안드로이드 개발자 모임 게시판
(글 수 7,951)
저는 통신이라고하면 그냥 소켓통신, 웹서버 밖에 안만들어봤는데요.
이번에 저희 회사에서 DB 데이터를 모바일에서 실시간으로 보여주는 앱을 만들고있는데.
DB -> REDIS -> API 서버 순서로 데이터를 얻어오는데
레디스 -> API 서버에서 데이터를 얻어올때 mqtt 프로토콜을 사용하려고 한데요..
음.. 검색 보니까 구독 하면 메세지를 수신할 수있다고하던데. 혹시 직접 구현해 보신분 있나요??
MQTT 내부적 으로는 소켓통신을 해서 메세지를 전달하는건지 세부적인 통신규격은 어떤건지, 무엇을 통해서 어떻게 통신을하는지 도통 원리를 모르겠네요..
MQTT 로 어떻게 구현해야할지 감이오지 않습니다. 혹시 뭐 다른 대안이나 조금 자세하게 설명해주실 수 있는분 있을까요??
써보지는 않았지만, 많이 사용되는 메세지큐 프로토콜 중의 하나로 보이네요. 예를 들면 이메일과 SMS를 보낼 데이터를 이 프로토콜을 지원하는 컨테이너에 던져주면
해당 컨테이너가 순차적으로 처리해서 해당 이메일과 SMS가 전송되어야할 곳으로 보내주게 됩니다. 당연히 DB간 데이터를 동기화할 때도 사용할 수 있구요.
따라서 Java용 라이브러리가 지원되고 있네요.
<groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.0</version>
tcp/ip 와 같은 프로토콜인데 메세지큐에 최적화된 걸로 내부적으로는 소켙으로 동작을 할 것으로 생각됩니다.구체적으로 어떻게 동작하는지는 http://www.steves-internet-guide.com/mqtt/ 에 가셔서 원문을 확인해 보시는게 정확할 듯 합니다.