MessageBus - Dart-Flutter로 Messagebus 설정하는 방법

여러분 안녕하세요,

저는 Discourse를 사용하여 데이터를 GET 및 POST하는 모바일 애플리케이션을 개발하고 있습니다. 현재 30초마다 요청을 보내 특정 토픽에 새 게시물이 있는지 확인하고 있습니다. 이는 실수로 우리 포럼을 DDoS 공격하는 것과 같은 효과를 낼 수 있어 걱정됩니다.

Flutter에서 WebSocket을 활용한 좋은 해결책을 찾고 있지만 아직 성과를 보지 못했습니다. Discourse의 경우 MessageBus를 발견했는데, 문서가 다소 혼란스럽습니다.

다만, 아래 폴링 요청에서 확인할 수 있듯이 우리 포럼에는 MessageBus가 설정되어 있습니다:
image

따라서 이 문제를 해결하는 방법에 대한 아이디어나 MessageBus, Flutter WebSocket 사용 경험이 있는 분이 계신지 여쭤봅니다.

MessageBus도 하나의 선택지입니다. Ruby와 JS용 클라이언트 라이브러리는 여기서 찾을 수 있습니다: GitHub - discourse/message_bus: A reliable and robust messaging bus for Ruby and Rack · GitHub

하지만 더 간단한 해결책은 Discourse의 WebHooks 기능을 사용하는 것입니다. 이렇게 하면 새로운 주제/게시물이 생성될 때마다 Discourse가 사용자의 엔드포인트로 웹 요청을 보낼 수 있습니다. 자세한 내용은 여기서 확인하세요:

웹훅(Webhooks)이 Flutter 프론트엔드와 어떻게 관련이 있거나 유용할 수 있는지 이해가 되지 않습니다.

OP가 원하는 것은 MessageBus 클라이언트의 Dart 구현인 것 같으며… 아마도 이 JavaScript 코드를 역공학해야 할 것입니다. 또 다른 대안은 Dart 내에서 JavaScript 코드를 실행한 뒤, JavaScript에서 Dart로 변환하기 위해 바인딩으로 감싸는 것입니다. 이 두 가지 중 직접 Dart로 이식하는 방식이 성능 면에서 더 우수할 것입니다.

제가 틀렸다면 수정해 주십시오. 이 분야를 깊이 파본 적은 없지만, Flutter 프론트엔드라는 아이디어는 흥미롭다고 생각합니다.

의도는 웹훅 → 백엔드 → 앱 순서로 데이터를 전달하는 것입니다. 따라서 앱은 웹훅을 직접 수신하지 않습니다.