从零开始:生产环境如何部署 Bytebase
Bytebase 是面向研发和 DBA 的数据库 DevOps 和 CI/CD 协同平台。目前 Bytebase 在全球类似开源项目中 GitHub Star 数排名第一且增长最快。
Bytebase 的架构
Bytebase 是一个单体架构 (monolith),前端是 Vue3 + TypeScript,后端是 Go。前端利用 Go 1.6 引入的 embed 功能 把前后端代码打包在了一个二进制文件中。Bytebase 的元数据则存在 PostgreSQL 中。
PostgreSQL 元数据库
同样利用 Go embed 功能,Bytebase 的二进制文件也内置了 PG 数据库。这样用户只要在命令行执行 ./bytebase
就能运行一个拥有前后端 + 数据库的完整 Bytebase 应用。不过在生产环境,我们建议用户通过 --pg 来配置外部的 PostgreSQL 数据库,版本要求 14 及以上。这样用户可以独立保障数据库的稳定性以及对数据进行备份。
配置 NGINX 网关
Bytebase 本身不提供 https 能力,需要使用如 NGINX 这样的网关来实现 https 访问。此外为了支持 SQL Editor 中的自动补全,还需要在网关中开启 WebSocket。下图是一个 NGINX 配置示例
配置 External URL
为了使得 SSO 以及 GitOps 流程可以正常工作,用户需要配置正确的 --external-url 参数。这个参数就是用户访问 Bytebase 的网页URL。如果配置了网关,那就是通过网关暴露出的 Bytebase URL。
Docker 以及 Kubernetes
Bytebase 也提供了 Docker 镜像和 Kubernetes 的 Helm Chart。用户也可以到 Sealos, Rainbond, Zeabur 一键部署 Bytebase 镜像。
机器资源
如果已经配置了外部元数据库,那么运行 Bytebase 本身,1C2G 的机器配置就够了。只有在同时变更大批量的大 SQL 时(我们确实有用户会同时变更上百个数据库,并且每条 SQL 都要 10 MB),才需要根据 SQL 的大小调高内存。
总结
从架构上 Bytebase 就做了简化,以达成一行命令 ./bytebase 就能启动完整应用的效果。再通过如上所述的几个配置,Bytebase 就能稳稳地运行在生产环境中了。
💡 更多资讯,请关注 Bytebase 公号:Bytebase

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一款 StarRocks 可视化建表和数据编辑的神器
什么是 StarRocks? StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏捷。用户无需经过复杂的预处理,就可以用 StarRocks 来支持多种数据分析场景的极速分析。 为了满足业务上的分析需求 StarRocks 设计了四种数据模型(明细模型、聚合模型、更新模型、主键模型),它们有各自的特点以适配不同的业务场景。本文将从创建数据模型表开始,配合简洁的案例,来讲解明细模型的用法和特点。 明细模型究竟是啥? 首先我们来看 StarRocks 官方的定义: 明细模型是默认的建表模型。如果在建表时未指定任何模型,默认创建的是明细类型的表。 创建表时,支持定义排序键。如果查询的过滤条件包含排序键,则 StarRocks 能够快速地过滤数据,提高查询效率。明细模型适用于日志数据分析等场景,支持追加新数据,不支持修改历史数据。 其次我们来看下 StarRocks 明细模型的标准建表语句与 MySQL 的差异: 可以看到除了 StarRocks 特有的关键字之外...
- 下一篇
DeepFlow 元数据数据库 PostgreSQL 改造实践
作者:卢城,平台运维研发工程师,来自中移信息技术有限公司磐基PaaS团队 本文描述了 DeepFlow Server 用到的 MySQL 数据库改成 PostgreSQL 数据库的改造思路和实现细节。 01 DeepFlow Server 的数据库流向图 在进入正题之前,我们需要了解 MySQL 数据库在 DeepFlow 里的数据流向细节。 DeepFlow Server 使用 MySQL 数据库存储 Agent 收集的 Kubernetes Apiserver 拉取的全量资源数据和 watch 的资源变更数据,以供后续 Server 端进行观测数据的关联分析和资源查询展示。由于 kubernetes 的 watch 机制,资源数据变更频发,这就需要频繁增删改数据,这类操作像 ClickHouse 这种非关系数据库的架构并不适合,只有关系型数据库才能有效支撑。DeepFlow 在入库观测数据时用到 SmartEncoding 机制,为所有观测数据自动注入资源、服务和业务标签,首先 Agent 获取到字符串格式的标签并汇总到 Server 上,接下来 Server 会对所有的标签进行编...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题