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
- 메시지 명이나 메시지 식별할 수 있는 방식이면 충분
- distinguishedValue
- Queue
- TAS_PROD_SERVER_REPORT
- Topic
- TAS/PROD/SERVER/REPORT
- siteId & env & targetSystem & distinguishedValue
- 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에서 전체 기능을 다 사용 할 수 없음
- 부분적으로 사용할지, 백엔드를 통해서 중계할지 통일을 할 수 있음
- Web (React)
- Kotlin Backend
연관 메일