现有的图库方案,均为单节点,遇到该节点故障的将是令人崩毁的。
为了满足日益增长的需求,我设计了一个基于 GitHub 和 GitLab 的图床集群架构。这个方案是全新的原创设计,旨在提供高效、实用的图片存储解决方案。其部署简单,用户可以轻松上手,迅速享受集群和分布式存储带来的优势。
超大存储:通过分布式存储和多节点架构,轻松应对海量图片存储,打破单个存储库的容量限制。
安全保障:数据在多个节点间自动同步,形成多重备份机制,确保数据的安全性与可靠性。即使某个节点出现故障,其他节点也能保证数据完整无损,用户无忧使用。
集群高可用性:系统通过负载均衡将请求分散到不同节点上,提升了整体性能,即使部分节点宕机,仍然能够稳定运行,确保用户随时访问图像。
智能监控:通过自定义密码获取节点状态,轻松掌握集群运行情况,简化管理流程。
统一域名:只需一个自定义域名,简化访问体验,确保使用过程的顺畅。
高速访问:自动选择响应速度最快的节点进行数据传输,确保用户以最快的速度获取所需内容。
全球加速:利用 Cloudflare CDN,提升全球访问速度,确保无论身处何地都能享受流畅体验。
图片压缩:自动压缩上传的图片,减少文件大小,提升网页加载速度。
视频: https://youtu.be/SGex7xJ9YdQ
代码: https://github.com/fscarmen2/pic-hosting-cluster
config.yml
,只需要根据实际修改config.yml
sync_to_gitlab.sh
./github/workflows/cluster_sync.yml
config.yml
sync_to_github.sh
.gitlab-ci.yml
github_only.js
gitlab_only.js
github_gitlab.js
https://<自定义域名>/<GitHub PAT>
https://<自定义域名>/<文件名>?from=where
从 GitHub 获取 https://<自定义域名>/<文件名>?from=github
从 GitLab 获取 https://<自定义域名>/<文件名>?from=gitlab