AirQo项目旨在通过设计、开发和部署安装在静态或移动物体上的低成本空气质量传感设备网络,测量和量化坎帕拉市及其周边地区的空气污染规模。
AirQo平台由许多用不同语言编写的微服务组成,这些微服务使用Istio相互通信。
的AirQo系统架构使用单回购更快的运输。每个服务都有自己的数据库。使用事件驱动的方法来维护这些数据库之间的一致性。还有一个API网关(Nginx),客户端使用它来访问其他服务。使用PM2监视杂服务的状态。部署模式是使用Docker的每个容器一个服务。
服务 | 语言 | 描述 |
---|---|---|
分析 | 瓶/ Python & MongoDB | 这是一个用于所有分析工作 |
app-enable | node . js | 启用使用此平台的服务的任何应用程序。 |
auth-service | node . js | 此端点的身份验证服务 |
data-mgt | node . js & MongoDB | 一个完全管理的服务,以流(实时)和批(历史)模式转换/处理和丰富数据,具有同等的可靠性和表现力 |
device-registry. | node . js | 对设备进行管理。 |
incetives | node . js | 支付服务以激励各利益相关方 |
预测 | 瓶/ Python & MongoDB | 处理空气质量预测或预报的微服务 |
服务监控 | node . js | 监视所有微服务的运行状况 |
noitifications | node . js | 负责处理应用程序的所有通知需求。 |
监控 | 瓶/ Python & MongoDB | 监控网络中所有设备的状态。 |
定位 | 瓶/ Python & MongoDB | 使用推荐放置设备位置的模型的微服务 |
校准 | 瓶/ Python & MongoDB | 使用推荐放置设备位置的模型的微服务 |
location-registry | 瓶/ Python & MongoDB | 处理网络中位置注册的微服务 |
使用“桌面Docker”本地运行您将构建微服务映像并将其部署到开发机器上运行的单节点Kubernetes集群中。
在谷歌计算引擎(GCE)上运行"您将构建、上传容器映像并将其部署到谷歌Cloud Engine上的Kubernetes集群。
在AirQo平台上部署cd AirQo-api/src/microservice-name
构建图像Docker构建-t us.gcr。io / gcp-project-name / microservice-name。
基于新创建的映像运行容器Docker运行-d -n best -p host-port:container-port us.gcr.io/gcp-project-name/microservice-name
用于运行容器的标志
在REST客户机或Web浏览器中访问应用程序localhost:主机端口。您应该启动并运行应用程序。现在是时候运行单元测试了,例如:
单元测试成功后删除容器Docker rm—force best。
在DockerHub或谷歌容器注册表上共享图像码头工人推/ /
我们邀请您帮助我们建立这个平台。请查阅贡献指南获取详细信息。
在报告问题之前,请参阅问题指导.
新闻p或要查看以前的文件或,n或查看下一个文件