1 unstable release
| 0.1.16 | Sep 17, 2025 |
|---|
#2 in #protocols-distributed
185KB
4K
SLoC
Kotoba Network
ネットワーク通信プロトコル実装 for Kotoba distributed system.
概要
Kotoba Network は、Kotoba の分散システムにおけるノード間通信を担当するクレートです。TCP/IP ベースの通信プロトコルを実装し、分散タスクの実行、キャッシュ同期、クラスタ管理などの機能をサポートします。
主な機能
- ネットワークプロトコル: 構造化されたメッセージ交換
- 接続管理: TCP 接続の確立と管理
- メッセージハンドリング: 非同期メッセージ処理
- クラスタ通信: ノード間でのタスク分散と結果収集
- キャッシュ同期: 分散キャッシュの一貫性維持
主な構造体
- NetworkMessage: ネットワークメッセージの列挙型
- NetworkManager: ネットワーク通信の管理
- NetworkServer: TCP サーバーの実装
- MessageHandler: メッセージ処理ハンドラー
- TcpConnectionManager: TCP 接続管理
使用例
use kotoba_network::{ServerBuilder, NodeId};
use kotoba_distributed::DistributedEngine;
// 分散実行エンジンを作成
let node_id = NodeId("node_1".to_string());
let engine = std::sync::Arc::new(DistributedEngine::new(node_id.clone()));
// ネットワークサーバーを作成
let server = ServerBuilder::new()
.listen_addr("127.0.0.1:8080".to_string())
.node_id(node_id)
.distributed_engine(engine)
.build()
.await?;
// サーバーを起動
server.run().await?;
メッセージタイプ
- TaskRequest: 分散タスクの実行リクエスト
- TaskResponse: タスク実行結果のレスポンス
- Heartbeat: ノードの生存確認
- JoinRequest: クラスタ参加リクエスト
- CacheSync: キャッシュ同期メッセージ
- GraphTransfer: グラフデータの転送
依存関係
kotoba-core: 基本型定義kotoba-distributed: 分散実行エンジンtokio: 非同期ランタイムserde: シリアライズ/デシリアライズ
Dependencies
~23–42MB
~581K SLoC