eclipse-ecal/ecal

📦 eCAL - enhanced Communication Abstraction Layer. A high performance publish-subscribe, client-server cross-plattform middleware.

해결하는 문제

eCAL은 단일 컴퓨터 또는 네트워크를 통해 분산된 다양한 소프트웨어 노드 간의 고성능 프로세스 간 통신(IPC) 문제를 해결합니다. 복잡한 중앙 브로커가 필요 없이, 서로 다른 프로세스가 빠르고 신뢰성 있게 데이터를 교환할 수 있는 제로 설정 미들웨어를 제공합니다.

작동 방식

eCAL은 두 가지 주요 통신 패턴인 발행-구독서버-클라이언트를 구현합니다. 연결 유형에 따라 가장 효율적인 전송 메커니즘을 자동으로 선택합니다: 극도로 빠른 로컬 통신에는 공유 메모리, 네트워크 기반 통신에는 UDP/TCP를 사용합니다. 브로커리스이며 메시지 프로토콜에 독립적이므로, Google Protobuf, Flatbuffers, CapnProto와 같은 선호하는 직렬화 형식을 사용할 수 있습니다.

대상 사용자

분산 시스템, 로봇 애플리케이션(ROS2 통합), 시뮬레이션 환경(Matlab Simulink 통합)을 개발하는 개발자들을 위한 것입니다.

주요 특징

  • 고성능: 1~20 GB/s의 전송 속도를 달성합니다.
  • 제로 설정: 통신 세부 사항이나 품질 보장(QoS) 설정에 거의 설정이 필요하지 않습니다.
  • 브로커리스 아키텍처: 브로커와 관련된 단일 실패 지점과 병목 현상을 제거합니다.
  • 포괄적인 도구 세트: 실시간 데이터 흐름 기록, 재생, 모니터링을 위한 내장 도구를 제공합니다.
  • 크로스 플랫폼: Windows, Linux를 지원하며, QNX, MacOS, FreeBSD는 실험적 지원을 제공합니다.
  • ROS2 통합: ROS2 환경에서 미들웨어 계층(RMW)으로 사용할 수 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트