더북(TheBook)

메시지 기반 구조가 안정적으로 운영되기 위해서는 메시지 형식에 대한 명확한 정의와 체계적인 스키마 관리가 필수적입니다. JSON은 사용이 간편하고 유연하다는 장점이 있지만, 시간이 지날수록 필드가 추가되거나 이름이 변경되면서 구조가 점차 일관성을 잃기 쉽습니다. 반면 Avro나 프로토콜 버퍼와 같은 스키마 기반 포맷은 메시지 구조를 사전에 정의하고 변경 이력을 관리할 수 있어, 시스템이 점진적으로 발전하더라도 이전 버전과의 호환성을 유지하기 훨씬 수월합니다. A2A 환경에서는 협력 범위가 넓고 이벤트 유형이 지속적으로 확장되므로, 스키마 레지스트리를 통해 메시지 규격을 중앙에서 관리하고 각 에이전트가 최신 스키마를 참조하도록 하는 것이 일반적입니다. 또한 대부분의 브로커가 ‘적어도 한 번(at-least-once)’ 전달 방식을 사용하기 때문에 동일한 메시지가 중복으로 도착할 수 있습니다. 이를 대비하기 위해 각 에이전트는 멱등성(idempotency)4을 확보해야 합니다. 메시지 순서는 파티션 단위에서 보장되므로 문서 ID나 고객 ID처럼 일관성을 유지해야 하는 기준으로 파티션을 구성하는 방식이 널리 사용됩니다.