このプロジェクトについて

SEKIROは、多言語・分散・ネットワークトポロジー非依存のサービス公開プラットフォームです。開発者は自分のプログラミング言語でハンドラを書き、その機能を中央APIマーケットプレイスに公開します。ビジネスシステムはRPC(リモートプロシージャコール)を通じてリモートノードの機能を利用します。 位置づけ このプロジェクトはRPCフレームワークと自称していますが、従来型のものではありません。一般的なバックエンドRPCフレームワーク(Dubbo、Spring Cloud、gRPC)は、複雑なビジネスモジュールを分解し、データセンター内のクラスタ全体で単一マシンのボトルネックを拡張します。SEKIROは代わりに、制限されたコンテキスト環境からの機能公開に焦点を当てています。サービスプロバイダーが通常の内部サービスとして再デプロイするのが不便な場所で実行されているが、ビジネスがその機能を利用する必要がある場合です。 READMEに記載されているシナリオ例: - リバースエンジニアリングが不完全なクライアントプログラム内で実行される暗号化アルゴリズム。SEKIROを介してコードを注入し、アルゴリズムをAPIとして公開できます。 - 組織のイントラネット内でのみ使用が許可されている制限付きデータ(例:送信元IPでチェックされる)を、外部サービスが呼び出す必要がある場合。 - 消費者向け機能を持つアプリや端末プログラムを、B端ビジネスが再利用したい場合。パラメータをプロキシとしてアプリに転送します(クローラー業界ではRPCクローリングと呼ばれます)。 - サービス機能の保護。プロバイダーがコードを提供したり、IPアドレスなどのマシン詳細を漏らしたりせずに、他の人に機能を利用させたい場合。 - 外部サービスへのデプロイが容易でない複雑なコンピューティング環境を、利用可能な環境でAPIとしてホストし、エクスポートする場合。 コアワークフロー 1. 中央サーバー(SEKIRO中央サービス)をデプロイし、コンシューマーとプロバイダーの両方が接続できるようにします。 2. 複数の言語(Java、JavaScript、Pythonなど)のクライアントが存在し、中央サーバーとの通信とAPIラッピングを実装します。 3. ユーザーはSEKIROクライアントAPIを使用して自分の言語でハンドラを書き、パラメータを受け取り、実際のローカル機能に呼び出しを転送します。 4. 外部ユーザーは中央サービスAPIを呼び出し、対応するクライアントハンドラに転送され、元のリンクを通じて結果が返されます。 ビルドと実行 - JavaとMavenをインストールします。 - Linux/Macではスクリプト`build_demo_server.sh`を実行して`target/sekiro-open-demo.zip`を生成します。 - `bin/sekiro.sh`または`bin/sekiro.bat`を実行します。 - ローカルにデプロイすると、ドキュメントは`http://127.0.0.1:5612/sekiro-doc`で提供されます。 リソース - ドキュメント: http://sekiro.iinti.cn/sekiro-doc/ - 各種言語のサンプルコード: https://github.com/yint-tech/sekiro-samples - インストールパッケージのダウンロード: https://oss.iinti.cn/sekiro/sekiro-open - クイックスタート: https://sekiro.iinti.cn/sekiro-doc/01_manual/1.quickstart.html READMEには、認証、API管理、分散クラスタリング、ロードバランシング、クロスランゲージ機能を提供する商用サービスについても記載されています。