Skip to content

Latest commit

 

History

History
110 lines (73 loc) · 5 KB

README_jp.md

File metadata and controls

110 lines (73 loc) · 5 KB

Pipy Logo

English | 中文

Pipy

Pipyは、クラウド、エッジ、IoT向けのプログラム可能なネットワークプロキシです。C++言語で書かれたPipyは、究極的に軽量で高速です。また、Javaスクリプト言語をカスタマイズしたバージョンのPipyJSを使ってプログラミングが可能です。

Pipyの特長

多目的

Pipyは高性能なリバースプロキシとして最も使われますが、本来の力は、さまざまなプラグインできる組立てブロック、すなわちフィルターであり、いかなる制約にも強いられずに、フィルターを組み合わせられることです。Pipyをどう使うのかは完全に皆さん次第ということです。これまで、プロトコルコンバータ、トラフィックレコーダ、メッセージsinger/verifier、サーバーレスファンクションスタータ、ヘルスチェッカー等々としてPipyが利用されたことがあります。

高速

PipyはC++で書かれています。非同期ネットワークを活用します。割り当てられたリソースはプールされて再利用されます。データは可能な限りポインタによって内部的に転送され、メモリ帯域幅への負担を最小限に抑えます。あらゆる点で高速にできています。

極小

ワーカーモードでPipyをビルドすると、その実行ファイルは10MB程度で、外部への依存性はゼロです。Pipyを使用すると、ダウンロードと起動の時間が最も速いのが実感できるでしょう。

プログラミング性

Pipyの核となるのは、ECMA標準のJavaScriptをカスタマイズしたPipyJSを実行するスクリプトエンジンです。世界で最も普及しているプログラミング言語を使うことで、PipyはYAMLなどに比べても圧倒的な表現力を発揮します。

###オープン性

Pipyはオープンソースよりもオープンです。どんな情報も詳細をブラックボックスに隠したりはしないので、自分が何をしているかを常に把握できます。しかし、恐れることはありません。さまざまな部品がどのように連携するかを理解するために、ロケット科学者が必要なわけではないのです。実際、自分ですべてを完全にコントロールできるようになるので、もっと楽しくなるはずです。

クイックスタート

ビルド

ビルドするにあたっては、次の要件が必要です。

  • Clang 5.0+
  • CMake 3.10+
  • Node.js v12+ (if the builtin Admin UI is enabled)

ビルドを開始するには、次のビルドスクリプトを実行します。

./build.sh

最終的にできたものはbin/pipyに置かれます。

実行

bin/pipyをコマンドラインオプションなしで実行すると、Pipyがデフォルトのポート6060をリッスンし、repoモードで起動します。

$ bin/pipy

[INF] [admin] Starting admin service...
[INF] [listener] Listening on port 6060 at ::

お使いのブラウザを開いて、http://localhost:6060を指定します。すると_Admin UI_が起動し、ドキュメントの検索とチュートリアルコードベースの操作ができます。

ドキュメンテーション

互換性

Pipyは常に以下のプラットフォームでテストされています。

  • RHEL/CentOS
  • Fedora
  • Ubuntu
  • Debian
  • macOS
  • FreeBSD
  • OpenBSD
  • OpenEuler
  • OpenWrt
  • Deepin
  • Kylin

Pipyは以下のアーキテクチャで稼働できます。

  • X86/64
  • ARM64
  • LoongArch
  • Hygon

著作権およびライセンス

Please refer to COPYRIGHT and LICENSE.

問い合わせ