什么是 Baetyl
在架构设计上,Baetyl 一方面推行 模块化,拆分各项主要功能,确保每一项功能都是一个独立的模块,整体由主程序控制启动、退出,确保各项子功能模块运行互不依赖、互不影响;总体上来说,推行模块化的设计模式,可以充分满足用户 按需使用、按需部署 的切实要求;另一方面,Baetyl 在设计上还采用全面 容器化 的设计思路,基于各模块的镜像可以在支持 Docker 的各类操作系统上进行 一键式构建,依托 Docker 跨平台支持的特性,确保 Baetyl 在各系统、平台的环境一致;此外,Baetyl 还针对 Docker 容器化模式赋予其 资源隔离与限制 能力,精确分配各运行实例的 CPU、内存等资源,提升资源利用效率。
- 屏蔽计算框架:Baetyl 提供主流运行时支持的同时,提供各类运行时转换服务,基于任意语言编写、基于任意框架训练的函数或模型,都可以在 Baetyl 中执行
- 简化应用生产:云端管理套件配合 Baetyl,联合百度云,一起为 Baetyl 提供强大的应用生产环境,通过 CFC、、EasyEdge、、IoT Visualization 等产品,可以在云端轻松生产各类函数、AI模型,及将数据写入百度云天工云端 TSDB 及物可视进行展示
- 服务按需部署:Baetyl 推行容器化和模块化,各模块独立运行互相隔离,开发者完全可以根据自己的需求选择部署
组成
- Baetyl 主程序 负责服务实例的管理,如启动、退出、守护等,由引擎系统、API、命令行构成。目前支持两种运行模式:Native 进程模式和 Docker 容器模式
- 官方模块 负责和 BIE 云端管理套件通讯,可以进行应用下发,设备信息上报等。强制证书认证,保证传输安全;
- 官方模块 baetyl-hub 提供基于 的消息订阅和发布功能,支持 4 种接入方式:TCP、SSL、WS 及 WSS;
- 官方模块 baetyl-remote-mqtt 用于桥接两个 MQTT Server 进行消息同步,支持配置多路消息转发;
- 官方模块 提供基于 MQTT 消息机制,弹性、高可用、扩展性好、响应快的计算能力;
- 官方模块 baetyl-function-python27 提供 Python2.7 函数运行时,可由 动态启动实例;
- 官方模块 提供 Python3.6 函数运行时,可由 动态启动实例;
- 官方模块 baetyl-function-node85 提供 Node 8.5 函数运行时,可由 动态启动实例;
- SDK (Golang) 可用于开发自定义模块。
架构图
开发文档
联系我们
Baetyl 作为中国首发的开源边缘计算框架,我们旨在打造一个 轻量、安全、可靠、可扩展性强 的边缘计算社区,为中国边缘计算技术的发展和不断推进营造一个良好的生态环境。为了更好的推进 Baetyl 的发展,如果您有更好的关于 Baetyl 的发展建议,欢迎选择如下方式与我们联系。
- 欢迎加入 Baetyl 边缘计算开发者社区群
- 欢迎加入
- 欢迎到 GitHub 提交 Issue