PARAは、オブジェクトの永続性と検索のためのスケーラブルなマルチテナントバックエンドサーバー/フレームワークです。バックエンド操作の世話をすることで、アプリケーションをより速く構築およびプロトタイプするのに役立ちます。これは、JVMベースのアプリケーションの一部であるか、複数のアプリケーションとクライアントを接続するスタンドアロンのマルチテナントAPIサーバーとして展開することもできます。
「パラ」という名前は、ブルガリア語で「蒸気」を意味します。また、Steamを使用して物事を動かすのと同じように、Paraを使用してモバイルまたはWebアプリケーションのバックエンドに電力を供給できます。
パラが他のオープンソースバックエンドフレームワークとどのように比較されるかをご覧ください。
このプロジェクトは、独立したブートストラップされた会社であるErudikaによって完全に資金提供され、サポートされています。
DAOによってネイティブに実装)+-----------------------------------------------------------+
| ____ ___ _ ____ ___ _ |
| / __ / __` / ___ / __` / |
| / / _ / / / / / / / / / _ / / |
| / .___/ __、_/ _/ __、_/ +------------ +
| / _/ |永続性|
+------------------+++----------------++------------+
| REST API | |検索| --- |キャッシュ|
+--------+--------+ - +-------+-------+ - +------+------+
| | |
+--------+---------++--------+-------++------+------+
|署名されたリクエスト| |検索インデックス| |データストア|
|およびJWTトークン| | (任意)| | (任意)|
+----+---------^----++---------------++------------+
| |
+--- V ---------+----------------------------------------------------------------------------------------------------
|クライアント:JavaScript、PHP、Java、C#、Android、iOSなど。 |
+-----------------------------------------------------------+
Paraio.comでホスティングとプレミアムサポートを提供しています。ここでは、無料の開発者アカウントでPara Onlineを試すことができます。ユーザーとオブジェクトを参照して管理し、Webコンソールで数回クリックしてバックアップを行い、アクセス許可を編集します。プレミアムアカウントにアップグレードすることにより、プロジェクトを数秒で上下にスケーリングし、複数のアプリを管理できます。
application.confファイルを作成します。java -jar -Dconfig.file=./application.conf para-*.jarでパラを開始しますnpm install -g para-cliでパラCLIをインストールします # run setup and set endpoint to either 'http://localhost:8080' or 'https://paraio.com'
# the keys for the root app are inside application.conf
$ para-cli setup
$ para-cli new-app "myapp" --name "My App"
または、Para Webコンソールを使用してデータを管理したり、以下のAPIクライアントの1つとParaをプロジェクトに直接統合することもできます。
パラのタグ付きDocker画像は、Docker Hubのerudikaltd/paraにあります。次のようなリリース画像のみをプルすることを強くお勧めします:1.45.1または:latest_stable :latestタグは壊れたり不安定である可能性があります。まず、 application.confファイルとdataフォルダーを作成し、パラコンテナを起動します。
$ touch application.conf && mkdir data
$ docker run -ti -p 8080:8080 --rm -v $(pwd)/data:/para/data
-v $(pwd)/application.conf:/para/application.conf
-e JAVA_OPTS="-Dconfig.file=/para/application.conf" erudikaltd/para:latest_stable
環境変数
JAVA_OPTS -javaシステムプロパティ、例えば-Dpara.port=8000 BOOT_SLEEPスタートアップの遅延、秒単位
プラグイン
プラグインを使用するには、次のようなマルチステージビルドを行う新しいDockerfile-pluginsを作成します。
# change X.Y.Z to the version you want to use
FROM erudikaltd/para:v1.XY.Z-base AS base
FROM erudikaltd/para-search-lucene:1.XY.Z AS search
FROM erudikaltd/para-dao-mongodb:1.XY.Z AS dao
FROM base AS final
COPY --from=search /para/lib/*.jar /para/lib
COPY --from=dao /para/lib/*.jar /para/lib
次に、単に$ docker build -f Dockerfile-plugins -t para-mongo .
パラはJDK 8+でコンパイルできます。
コンパイルするには、Mavenが必要です。あなたがそれを手に入れたら、クローンとビルドするだけです:
$ git clone https://github.com/erudika/para.git && cd para
$ mvn install -DskipTests=true実行可能ファイル「Fat-Jar」を生成するには、 $ mvn package実行すると./para-jar/target/para-xyz-SNAPSHOT.jar para-jar/target/para-xyz-snapshot.jarになります。 2つのJARファイルが合計で生成されます。脂肪のファイルのサイズは少し大きくなっています。
プラグインなしでベースパッケージを構築するには( para-dao-sqlとpara-search-luceneを除く)、実行します。
$ cd para-jar && mvn -Pbase package
開発のためにパラのローカルインスタンスを実行するには、使用してください。
$ mvn -Dconfig.file=./application.conf spring-boot:run実行可能な瓶をダウンロードして、スタンドアロンサーバーとしてパラを実行できます。
$ java -jar para-X.Y.Z.jarPara Web Console Console.paraio.orgを介してオブジェクトを閲覧できます。 APIのエンドポイントを変更してローカルサーバーにし、アクセスキーを接続するだけです。管理インターフェイスはクライアント側のみであり、シークレットキーはネットワーク上に送信されることはありません。代わりに、JWTアクセストークンがローカルで生成され、各リクエストでサーバーに送信されます。
または、戦争ファイルを構築して、お気に入りのサーブレットコンテナに展開できます。
$ cd para-war && mvn package
また、プロジェクトを依存関係として追加することにより、パラを統合することもできます。パラはMaven Centralでホストされています。 pom.xmlに含めるMavenスニペットは次のとおりです。
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >パラに接続する軽量クライアントのみのアプリケーションを構築するには、クライアントモジュールのみを含めます。
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cliこれらのクライアントライブラリを使用して、パラをプロジェクトにすばやく統合します。
これらのDAO実装を使用して、さまざまなデータベースに接続します。
AWSDynamoDAO ( para-serverに含まれる)H2DAOはデフォルトのDAOであり、SQLプラグインの一部です(JARファイルでパッケージ化) Searchインターフェイスは次のように実装されています。
Cacheインターフェイスは次のように実装されています。
para-serverに含まれています)Queueインターフェイスは次のように実装されています。
AWSQueueクラスLocalQueue 2.0 Quarkusへの移行、Java 13+のみ、ネイティブ画像paraを使用してスタックオーバーフローについて質問するparaを使用してくださいgit checkout -b my-new-feature )git commit -am 'Added a new feature' )git push origin my-new-feature )このプロジェクトのコードスタイルを尊重してみてください。コードを確認するには、スタイルチェッカーを介して実行します。
mvn validate詳細については、Convinting.mdを参照してください
Apache 2.0