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 더 개선 점을 찾고.,.. 도전해 봐야한다... 아직도 너무 모른다..

최종 수정 안.... (마인드 그래프가 편함)