apie
1.0.0
注:このプロジェクトは、まだ一般的な消費向けではありません。
このプログラムは、イベントソーシングシステムに非常に最小限のバックエンドAPIを提供します。
主な機能は次のとおりです。
イベントストリームは、アプリケーションの構造化されたデータに対して行われたすべての変更の付録のみのログです。クライアントは、このイベントストリームを使用して、構造化されたデータ、基本的に特定の瞬間にアプリケーションデータの状態に投影を作成できます。
アプリケーションデータをイベントストリームとして保存する利点は次のとおりです。
バックエンドは、ほとんどのホスティングプロバイダー(Linux)でCGIプログラムとして実行されるべき静的にコンパイルされたLinuxバイナリにコンパイルできます。これには、NIXパッケージマネージャーをインストールする必要があります(GLIBCの代わりにMUSLを使用するバイナリを構築するため)。
WebサーバーがAuthorizationヘッダー( HTTP_AUTHORIZATION環境変数)をCGIスクリプトに渡すことを確認してください。 Apacheの場合、提供されたcgi-bin/.htaccess使用できます。
バックエンドは、Warp HTTPサーバーを使用してスタンドアロンを実行することもできます。ただし、効率的な実装ではないことに注意してください。同期のためにファイルロックをプリミティブとして使用します。
計画は、STMを使用して効率的なマルチスレッドサーバーバックエンドを作成することです。
curl -X PUT -H " Content-Type: application/json " --data @event.json http://localhost:8000/events
curl http://localhost:8000/events
curl http://localhost:8000/events ? from=0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb
curl http://localhost:8000/events ? to=0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb
curl http://localhost:8000/events/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cbcurl -X PUT -H " Content-Type: application/pdf " -T ~ /Documents/test.pdf http://localhost:8000/storage/
curl -X GET http://localhost:8000/storage/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb --output test.pdf
curl -X DELETE http://localhost:8000/storage/0d0ef6946e84a7bb64c600709c05edda81d2ebec8b85ced529ae56a9de5eb9cb