ID: key_26_07_02_14_21_12_09_95200 Created date: Feb 14 2026 Saturday, 7th 21:12 #tas solace

연관 문서

목표

  • TAS 하위 시스템간 비동기 통신을 위해 솔라스를 이용
  • 솔라스 통신에 대한 내용 정리

케이스

  • 전체 공지가 필요한 경우
    • System: Server, Agent or Loader
    • 신규 Agent 혹은 Loader 버전 배포 요청
    • Agent, Loader 서버 보고 요청
  • 원격지 (mobile) Agent를 호출해야하는 경우
    • System: Mobile, Agent
    • 원격 디바이스에서 작업을 요청하는 경우
      • 비동기 백그라운드 작업으로 동기 처리로 작업 요청 제한 시 사용
      • 예시: MPMS 서비스
  • Agent에서 데이터 동기화 경우
    • System: Server, Agent
    • 유저의 유료 기능을 통해 멀티 디바이스 간 Agent 데이터 공유

통신 방식

  • Ground Rule
    • 토픽은 / , 큐는 _ 구분자를 사용한다.
    • 메시지는 Queue를 통해 수신한다.
    • 메시지는 Topic을 통해 발행한다.
    • Queue는 Topic을 매핑해서 관리한다.
    • 네이밍 룰
      • siteId & env & targetSystem & distinguishedValue
        • distinguishedValue
          • 메시지 명이나 메시지 식별할 수 있는 방식이면 충분
      • Queue
        • TAS_PROD_SERVER_REPORT
      • Topic
        • TAS/PROD/SERVER/REPORT
  • API
    • Kotlin Backend
      • JCSMP
    • Python Agent/Loader
      • python 전용 API (solace-pubsubplus)
    • UI / Mobile
      • Web (React)
        • 한계
          • Solace Web Messaging API (JavaScript)만 공식 지원되며, Direct Messaging만 안정적으로 동작합니다. Guaranteed messaging (persistent queue bind/receive)은 브라우저 환경에서 지원되지 않습니다.
          • 큐 사용 시, 백엔드 서버시의 중계 필요
          • Topic 송수신 가능
      • Mobile (React Native)
        • 토픽, 큐 통신 가능
          • Solace PubSub+ Messaging API for iOS (Swift/Objective-C) + for Android (Java/Kotlin)
      • 솔라스 통신을 Front End에서 전체 기능을 다 사용 할 수 없음
      • 부분적으로 사용할지, 백엔드를 통해서 중계할지 통일을 할 수 있음

연관 메일