Coding Diary/C,C++,C#
MQTT를 너무 믿은 점.. (오류 편)
할일이 많다
2024. 9. 18. 23:19
최근 로드셀에서 올라오는 데이터를 수집하고 가공하면서 드는 생각을 정리 해야겠다 싶어 적는다.,
보통 중량계에서 RS 통신이나 이더넷 통신으로
데이터를 수집할 때 보통 300ms에서 길어봤자 500ms 정도 이다.
그리고 로드셀의 상태 값과 중량을 ASCII로 표현하여 송신한다.(간혹 hex로 들어오는 경우도...) =>
다시 MQTT로 돌아와서
애초에 MQTT의 특징이 IoT의 특화된 메시징 프로토콜이라 큰 용량의 메시지 보단 작은 용량의 메시지를 기준으로 작업을 한다.
이번 프로젝트도 그걸 간과해서 일어난 일 이겠지...
총 26 군데에서 들어오는 중량의 값을 실시간으로 '한'개의 브로커에서 받을 생각을 하니....
뭐든 테스트는 정말 극악의 환경에서 진행해야한다
서버 PC의 램을 96기가 까지 올렸지만... 브로커가 버티질 못해 중간중간 restart를 해줬다...(OS는 리눅스// 즉 리눅스 서버..)
개선점
1. 서버의 개수, 즉 브로커의 개수를 3개로 늘려 각 데이터를 수집
2. 늘린 서버 간의 PC application 프로그램으로 수집한 데이터를 가공
3. 가공한 데이터를 Tcp 통신으로 모니터링 프로그램에서 요청 후 수집
P.S 더 개선 점을 찾고.,.. 도전해 봐야한다... 아직도 너무 모른다..