私有化部署
在独有的服务器上运行任意数量的网站
许可的源代码访问,支持低代码开发
自动化 Git/CI/CD 运维和部署工具
定期版本更新,技术培训
准备工作
2 个域名, 两个泛域名证书(可选)
1 个七牛云账号(资源存储)
1 台 Ubuntu 服务器 (系统运行)
1 个外网IP (对外访问)
1 个短信平台账号 (登录认证)
1 个邮件发送服务 (登录认证)
特别说明
API网关
跨境专线合规检查
移动解析
国内服务需 ICP 备案
域名SSL 证书
(短信和邮件)作为登录认证可选
技术栈介绍
Baklib 是一款云SaaS服务软件,支持部署到任何云服务平台上,如国内常用的阿里云/腾讯云/华为云/UCloud,国外常用的AWS/Azure/Google云平台;Baklib 采用标准的基于现代 MVC Web 架构,易于开发,便于维护,系统完整的技术栈如下图所示。确保先进性、规范性、易拓展性和可重用性,同时为系统具备跨平台性和可移植性。

软件架构
Baklib 运行在 Ruby on Rails 框架上,Ruby on Rails是用 Ruby 编程语言编写的开源 Web MVC框架,它附带了在前端和后端构建现代的 Web 应用程序所需的所有工具。下图是 Baklib 项目软件架构逻辑图:

物理架构
整个信息系统需要使用到的软硬件设施,以及其部署位置及各个软硬件之间的关联关系如下图所示。软硬件设施包括主机、服务器、交换机、路由器、防火墙、缓存服务器、注册中心、数据库等等。

SSO 系统集成

硬件配置
Baklib 独立部署建议硬件配置清单如下:
硬件名称 | 数量 | 配置 | 说明 |
|---|---|---|---|
主服务器 | 1 | CPU: 2核 内存: 4G 系统盘总容量: 30GB 数据盘总容量: 100GB |
|
数据库服务器 | 0-1 | 8核32G,500G硬盘 | 1主2从数据库
|
缓存服务器 | 0-1 | 8核32G,30G硬盘 | 缓存应用与数据库之间的数据
|
网络技术规范
特殊网络项 | 技术要求 | 说明 |
|---|---|---|
带宽要求 | 1、网络带宽需求 2、网络延迟要求 | 网络带宽: 起步1M,根据云网络资源按需分配 网络延迟:访问延迟 <= 500ms, 搜索延迟 <= 3s |
CDN | 1、内容分发网络 | 用于加速网络内容分发,可选项 |
软件配置规范
操作系统 | 技术要求 | 说明 |
|---|---|---|
Ubuntu | 1、Ubuntu 20.04 64位 | 支持最低版本 16.x |
Ruby | 1、ruby 3.2.2 | 支持最低版本 3.2.0 |
Nodejs | 1、nodejs 18.12.1 | NPM、ESBuild、Yarn |
Docker | 1、最低版本 19.x | |
Postgresql | 1、数据库 Postgresql-13.4 | postgresql-9.6 |
redis | 1、高可靠性架构 2、最低版本6.x | redis-4.0 及以上 |
软件安全规范
类别 | 要求 |
|---|---|
代码安全 | 1、不包含已知的代码和逻辑漏洞 |
2、使用的各组件(包括集成的框架、插件、代码段)是安全的 | |
3、不在系统中留后门 | |
4、对系统的开发采用了安全的开发流程,具有标准的代码托管流程 | |
内容安全 | 1、对传输的敏感数据采用加密和https协议传输 |
2、采用安全的加密算法(SHA-512,AES128,RSA2048) | |
3、保存在服务端的敏感数据具有基于数据库字段、文件等形式的加密存储功能 | |
移动端 | 1、对于对外输出的页面,做移动端自适应处理,保证移动端的可访问性。 |
日志安全 | 1、记录登录、用户管理、角色/权限管理、系统配置操作、业务敏感信息操作和报表查询日志 |
漏洞管理 | 1、按照漏洞整改时效要求(高风险漏洞1天,中风险漏洞3天,低风险漏洞7天)及时完成漏洞的整改。 |
其他技术规范
操作系统 | 技术要求 | 说明 |
兼容性 | 1、多终端适配 2、支持 Mobile/Tablet/PC 三个端的适配 | 系统前后端都实现了多终端适配 |
暗黑模式 | 1、系统支持暗黑深色浏览 | 系统前后两端都支持 |
国际化 | 1、工作台管理端支持国际化多语言切换 2、创建的应用站点支持国际化 | 系统提供I18n国际化支持 |
认证授权 | 1、多种登录认证模式 2、SSO 单点登录配置 | 支持自定义登录认证 组织架构同步 |
第三方集成 | 1、支持第三方接口的集成和调用 | 已实现SSO/微信/企业微信/Google/Github的集成
|
独立部署更多说明
在独有的服务器上运行任意数量的网站
许可的源代码访问,支持低代码开发
自动化 Git/CI/CD 运维和部署工具
定期版本更新,技术培训