「注:转载请注明出处,谢谢!」
注意:请参考在线文档以获取最新信息。
将APIBuilder应用程序部署到AMPLIFY Runtime Services
在先前文章中,我们描述了如何轻松地使用API Builder Standalone创建微服务并将其打包为可在任何Docker基础架构中运行的Docker映像。
这篇博客文章将描述如何在Axway的AMPLIFY运行时服务(ARS)中运行该docker映像,APL是运行API Builder应用程序的可弹性伸缩的基础结构。可参考官方文档API Builder独立应用程序部署到AMPLIFYRuntimeServices 。
创建您的API Builder项目
如果您还没有一个有效的API Builder Standalone项目,请按照《入门指南》创建一个。
和以前一样,我创建了一个简单的API Builder项目apibm,该项目使用MongoDB Atlas作为后端。可在此处找到有关安装MongoDB连接器的说明。
我的MongoDB连接器配置(mongo.default.js)如下所示:
module.exports = {
connectors: {
mongo: {
connector: '@axway/api-builder-plugin-dc-mongo',
url: 'mongodb+srv://{username}:{password}@http://cluster0-merks.mongodb.net/{database name}?retryWrites=true',
generateModelsFromSchema: true,
modelAutogen: true
}
}
};
注意:用适合您的数据库的URL替换上面的MongoDB URL。
修改您的默认配置文件
修改conf / default.js文件,以使该端口使用process.env.PORT而不是8080,如下所示:
port: process.env.PORT || 8080,
请注意,这是ARS的要求
测试您的API Builder项目
通过使用“ npm start”在本地运行来测试您的项目,然后使用curl或Postman测试您的API。
我使用curl测试了我的狗集合,如下所示:
curl https://localhost:8080/api/mongo/dog
结果如下:
{
"success": true,
"request-id": "a57263db-3221-4153-9e45-19a573e1af96",
"key": "dogs",
"dogs": [
{
"id": "5a24a9a67779e860d007b13e",
"breed": "Poodle",
"name": "Fido"
},
.
.
.
{
"id": "5b3aafcb9de9003840480fe7",
"breed": "Doberman",
"name": "Doobie"
}
]
}
创建您的Docker映像
按照Dockerize API Builder服务指南中的说明创建您的Docker映像。
如以上指南中所述,确保已创建映像,并确保可以在本地运行docker映像。
对于我的API Builder项目,我使用以下命令来构建和测试docker映像:
docker build -t apibm ./
docker run --rm --name apibm -p 80:8080 apibm
请注意,我正在将主机上的端口80映射到容器中的端口8080,因为这是API Builder侦听的默认端口。
我使用curl测试了我的API集合,如下所示:
curl https://localhost/api/mongo/dog
结果与上述相同。现在我们已经创建并测试了docker镜像,我们可以继续将其发布到ARS。
将您的API Builder Docker映像发布到ARS
请参阅《 ARS命令行界面参考》以发布您的Docker映像。
我的项目和docker映像名称是apibm,因此发布该映像的命令是:
acs publish apibm --delete_oldest --force --image apibm --app_version 0.1
您应该看到类似下面的内容:
您还应该收到一封电子邮件,其中包含您的部署状态(成功或失败),如下所示:
您应该使用以下命令从命令行检查项目:
acs list apibm
acs logcat apibm
请注意,部署项目和访问API可能需要一些时间(最多10分钟)。如果您的API没有响应,并且您使用“ acs logcat”并收到“正在使用80端口”错误,请尝试使用以下方法将PORT设置为8080:
acs config --set PORT=8080
测试您发布的API
您收到的电子邮件以及“ acs list apibm”的打印输出将提供API的基本URL。例如,请参见下面针对我的项目的“ acs list apibm”打印输出:
我可以使用以下命令通过curl测试我的API:
curl https://b98195a22ee7df3cc69efd67af62f8eb92795ff2.cloudapp-enterprise.appcelerator.com/api/mongo/dog
我得到了与以前相同的结果,因此我的项目已部署并正常工作。
监控您的微服务
您可以转到https://platform.axway.com,选择您的API Builder项目并查看有关您的微服务的信息,如以下屏幕截图所示:
增加服务器大小
默认情况下,您的服务器大小设置为“ Dev”。当一个小时没有活动时,您的容器将自动进入睡眠状态,并在收到新请求时重新激活。为了使服务器保持活动状态,可以使用以下命令设置服务器大小:
acs server --set Small
大小为Dev,Small,Medium,“ Large”,“ XLarge”。尺寸在这里描述。
欢迎随时微信交流