eclipse-ecal/ecal
📦 eCAL - enhanced Communication Abstraction Layer. A high performance publish-subscribe, client-server cross-plattform middleware.
何を解決するか
eCALは、単一のコンピュータ上またはネットワークに分散した異なるソフトウェアノード間での高パフォーマンスなプロセス間通信(IPC)の課題を解決します。ゼロ設定のミドルウェアを提供し、複雑な中央ブローカーを必要とせずに、異なるプロセスが高速かつ信頼性の高い方法でデータを交換できるようにします。
動作方法
eCALは、発行-購読とサーバ-クライアントの2つの主要な通信パターンを実装しています。接続に応じて、最も効率的なトランスポートメカニズムを自動的に選択します:極めて高速なローカル通信には共有メモリ、ネットワーク通信にはUDP/TCPを使用します。ブローカーレスであり、メッセージプロトコルに依存しない設計なので、Google Protobuf、Flatbuffers、CapnProtoなどの任意のシリアライズ形式を使用できます。
対象ユーザー
分散システム、ロボットアプリケーション(ROS2との統合)、シミュレーション環境(Matlab Simulinkとの統合)を開発する開発者向けに設計されています。
特徴
- 高パフォーマンス:1~20 GB/sのスループットを達成します。
- ゼロ設定:通信の詳細や品質保証(QoS)設定にほとんど設定が必要ありません。
- ブローカーレスアーキテクチャ:ブローカーに伴う単一障害点やボトルネックを排除します。
- 包括的なツールキット:データフローの記録、再生、リアルタイム監視を内蔵したツールを提供します。
- クロスプラットフォーム:Windows、Linuxをサポートし、QNX、MacOS、FreeBSDについては実験的サポートを提供しています。
- ROS2統合:ROS2環境でのミドルウェア層(RMW)として使用可能です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト