Para是可扩展的多端后端服务器/框架,用于对象持久性和检索。它可以通过照顾后端操作来帮助您更快地构建和原型应用程序。它可以是您基于JVM的应用程序的一部分,也可以将其部署为独立的,具有多个应用程序的多端API服务器,并且可以连接到它。
保加利亚语中的“帕拉”这个名字的意思是“蒸汽”。就像Steam用于为产品提供动力一样,您可以使用Para为您的移动或Web应用程序提供动力。
请参阅PARA与其他开源后端框架的比较。
该项目由一家独立的自举公司Erudika充分资助和支持。
DAO本地实施)+-----------------------------------------------------------------------------+
| ____ ___ _ ____ ___ _ _ |
| / __ / __` / ___ / __` / |
| / / _ / / / _ / / / / / _ / / |
| / .___/ __,_/ _/ _/ __,_/ +-----------------------------------------------------------------
| / _/ |持久性|
+-------------------+ +-----------------+ +-------------+
| REST API | |搜索| --- |缓存|
+-----------+----------+ - +--------+---------+---+----+------+-------+
| | |
+----------+-----------++--------+----------++-------+-------+
|签名请求| |搜索索引| |数据存储|
|和JWT令牌| | (任何)| | (任何)|
+----+------------^----++------------------------+-------------------------------+
| |
+---- V ---------+-----------------------------------------------------------------+
|客户:JavaScript,PHP,Java,C#,Android,IOS等。 |
+-----------------------------------------------------------------------------+
我们在Paraio.com上提供托管和高级支持,您可以在其中使用免费开发人员帐户在线尝试Para。浏览并管理您的用户和对象,进行备份并在Web控制台中单击几下编辑权限。通过升级到高级帐户,您将能够在几秒钟内上下扩展项目并管理多个应用程序。
application.conf文件。java -jar -Dconfig.file=./application.conf para-*.jarnpm install -g para-cli Para 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控制台管理数据,或将PARA直接与下面的API客户端集成到您的项目中。
Para的标记Docker图像位于Docker Hub的erudikaltd/para 。强烈建议您仅拉释放图像:1.45.1或:latest_stable ,因为:latest标签可能会被打破或不稳定。首先,创建一个application.conf文件和一个data文件夹,然后启动Para容器:
$ 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+编译Para:
要编译它,您需要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中。总共生成了两个JAR文件 - 脂肪的大小更大。
要构建没有插件的基本包(不包括para-dao-sql和para-search-lucene ),请运行:
$ cd para-jar && mvn -Pbase package
要运行Para的本地实例进行开发,请使用:
$ mvn -Dconfig.file=./application.conf spring-boot:run您可以通过下载可执行JAR,然后:
$ java -jar para-X.Y.Z.jar您可以通过Para Web Console.paraio.org浏览对象。只需将API端点更改为本地服务器并连接访问密钥即可。管理接口仅是客户端,您的秘密密钥永远不会通过网络发送。相反,JWT访问令牌是本地生成的,并按每个请求发送到服务器。
另外,您可以构建战争文件并将其部署到您喜欢的Servlet容器:
$ cd para-war && mvn package
您还可以通过将其添加为依赖项来将PARA与您的项目集成在一起。 Para主持在Maven Central。这是在pom.xml中包含的Maven片段:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-server</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >用于构建连接到Para的轻巧的仅限客户端应用程序,仅包括客户端模块:
< dependency >
< groupId >com.erudika</ groupId >
< artifactId >para-client</ artifactId >
< version >{see_green_version_badge_above}</ version >
</ dependency >$ npm install -g para-cli使用这些客户库将PARA快速整合到您的项目中:
使用这些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有关更多信息,请参见贡献。
Apache 2.0