WebSocket용 Location 두 가지
WebSocket 전용 경로와 일반 요청을 함께 수신하는 경로는 Connection 헤더의 처리 방식이 다르다.
글
월별 글 목록.
WebSocket 전용 경로와 일반 요청을 함께 수신하는 경로는 Connection 헤더의 처리 방식이 다르다.
요청마다 Trace ID 하나를 부여하여 traceparent 헤더로 전파하면 여러 서비스의 Span이 하나의 흐름으로 연결된다.
gRPC는 기본적으로 Deadline을 설정하지 않으므로 호출마다 timeout을 지정하고, 서버는 남은 시간을 후속 호출로 전파한다.
와이어 형식은 필드를 번호로만 식별하므로, 한번 사용한 번호는 변경하거나 재사용하지 않고 reserved로 차단한다.
ufw status의 출력만으로는 실제로 적용된 규칙 전체를 확인할 수 없다.
손실을 허용하면 0, 누락을 방지하려면 1, 중복도 방지하려면 2를 사용하며, 실제 전달은 구독 QoS와 비교해 낮은 값을 따른다.
호스트는 서버마다 클라이언트를 하나씩 생성하고, 서버는 도구·리소스·프롬프트를 JSON-RPC로 제공한다.
VDA 5050 표준은 관제와 차량이 MQTT와 JSON으로 교환하는 토픽과 메시지 형식을 규정한다.
전송할 메시지를 업무 데이터와 같은 트랜잭션으로 테이블에 기록하고, 전송은 별도 작업에 위임한다.
인증서가 갱신되어도 Nginx가 이전 인증서를 계속 제공하는 문제를 훅으로 방지한다.
한 번 읽을 때는 read_value를 사용하고, 변경될 때마다 수신하려면 구독을 생성하여 핸들러로 수신한다.
노드 내부에서 interrupt()로 중단하고, 같은 thread_id에 Command(resume=...)를 전달하여 재개한다.
재시도 간격은 두 배씩 증가시키되 상한을 두고, 무작위성을 더하여 여러 클라이언트의 재시도가 겹치지 않게 한다.
액션은 Goal로 작업을 요청하고 Feedback으로 경과를 수신하다가 Result 하나로 종료되며, 종료 사유는 상태로 구분한다.
장비별로 다른 프로토콜은 어댑터 내부에 두고, 상위 코드는 공통 인터페이스와 공통 상태 모델만 참조한다.
저장소의 사본은 차이 확인, 복사, 문법 확인, Reload의 순서로 /etc/nginx의 실제 설정에 반영한다.
NodeId의 ns 숫자는 서버마다 다를 수 있으므로 네임스페이스 URI로 인덱스를 조회하여 사용한다.
http2 on과 grpc_pass로 요청을 전달하고, 스트리밍 경로는 기본 60초인 읽기·쓰기 timeout을 늘린다.
노드 목록에서 시작하여 토픽의 타입, 값, 빈도, 연결 상대 순으로 범위를 좁혀 가며 명령 여섯 가지로 확인한다.
요청과 응답 중 어디에 stream을 지정하는지에 따라 호출 방식이 네 가지로 구분된다.