Add support ticket services, REST controllers, and STOMP relay
Implements the MediaService backend for the support ticket system: - SupportTopicService: CRUD for org-scoped support topics - SupportAssignmentService: round-r...
VoipStompRelayController의 IllegalStateException을 처리하는 NATS 스트림 주제에 voip.> 추가
NATS 스트림은 채팅을 덮었다.> 그래서 voip에 대항.> 뚱 베어 IllegalStateException ([SUB-90007] 일치하는 스트림 없음. 추가된 voip.> 스트림 주제에 따라서 두 주제는 덮여, 확장 IllegalStateException을 사용하여 시작 실패 방지...
DB 회원 찾기 메시지 auth check
Redis에서 memberID를 읽는 getMemberIdFromRequest() DB를 타격하지 않고 세션. 대신 getMessages()에서 사용 getCurrentMember() — 회원국은 이제는 null을 체크했습니다. 절대 사용. 모든 채팅 기록로드에서 하나의 DB 라운드 트...
Overhead와 async TTL를 삭제
- k8s configmap (실제 생산 구성) : 낮은 보안 / hikari INFO/DEBUG에서 WARN 로깅, HikariCP 풀 구성 추가 (최대 20) - KSessionService: 스트립 ~60 System.out.println 호출에 화재 128-char 세션 키의 문...
로그 소음 및 튜닝 연결 풀 감소
- TRACE에서 WARN, HikariCP, DEBUG에서 WARN - 비동기 로그의 수십 가지를 요청당 작성 제거 - HikariCP 풀 구성 추가 (최대 20, 최소 5) 방지 concurrent 짐의 밑에 연결 배기 - getCurrentMember에서 14 per-request...
채팅 메시지 endpoint에서 per-message 로깅 제거
시스템 제거.out.println 메시지 스트림 맵 내부 호출 메시지 당 한 번 제출 (100 요청당 I / O 운영), 최종 로그인하여 회원 ID 수집
Cross-subdomain WebSocket auth를 위한 질의 param에서 ***
읽기 *** ID 에서 ? *** = 쿼리 매개 변수 먼저, 다시 떨어지기 제품정보 이것은 internal.kamocrm.com에 프론트엔드를 허용한다. 웹소켓은 크로스 도메인 쿠키없이 media.kamocrm.com에 연결됩니다. Interceptor는 Redis에 직접 세션을 검증합...
독특한 소비자 retry와 결합된 stale NATS 소비자
- createNatsMessageHandler() 메소드로 메시지 핸들러 추출 - "Consumer already bound"일 때 고유한 소비자 이름과 재량 논리 추가 서버 재시작 후 오류 발생 - 동서 debug 로깅 청소
*** 쿠키를 통해 WebSocket 인증 추가
WebSocketAuthInterceptor 를 추가하십시오. KSessionService를 통해 세션을 해결하고, memberId/orgId를 저장합니다. WebSocket 세션 속성. STOMP CONNECT에 대한 Principal 설정 downstream 존재 및 알림 기능.
포트 443에 Traefik을 통해 웹소켓
- service.yaml: 포트 80→8443을 수정하여 pod의 실제 청취 포트와 일치 - ingressroute.yaml : 사용 계획 https + 포트 8443 백엔드 - servertransport.yaml : 백엔드 TLS cert에 insecureSkipVerify 추가 ...
NATS 연결을 위한 클러스터 내부 DNS 사용
WireGuard IPs에서 기본 NATS URL 변경 (100.64.x.x) nats.kamo.svc.cluster.local 서버. 원격 노드 (k0m1, k2m1)는 WireGuard IP에 남아 있습니다.
MediaService 배포에서 TLS 인증서 선택
- 선택 추가 : wildcard-kamocrm-com 비밀 볼륨에 true - cert-converter init 컨테이너를 업데이트하여 누락된 인증서를 안전하게 처리하십시오
기존의 Tailscale IP 대신 WireGuard VPN IPs (10.8.x.x)를 사용하기 위해 kubeconfig 업데이트를 수정하십시오
K1m1 및 k2m1에 대한 병렬 배치
- 분할 빌드 및 별도의 작업으로 배포 - 빌드 완료 후 평행한 k1m1 및 k2m1에 배포 - 총 배포 시간을 크게 감소