建木HA部署

背景

在建木v2.6.1之前,建木Server仅支持单机部署,如果出现单机故障,难以应用于在线场景,并且单机压力过大时,会影响系统延展性。

什么是HA

HA(High Availability Cluster)是高可用集群系统的简称,是保证业务连续性的有效解决方案,是指以减少服务中断时间为目的的服务器集群技术。它可以保护业务程序对外提供不间断的服务,把因软件、硬件、人为造成的故障对业务的影响降到最小。

建木HA部署

本文只介绍建木HA部署,单机部署请查看 建木部署文档

  • 资源准备
    • 一台虚拟机部署Nginx及建木UI
    • 两台虚拟机部署建木Server
    • 两台虚拟机部署建木Worker
    • 一台虚拟机部署Redis
    • 一台虚拟机部署Mysql
    • 一台虚拟机部署共享存储,需挂载到部署建木Server的两台虚拟机上

注意:多个建木Server需配置同一台Mysql和Redis数据库

  • 部署架构图



上图中,用Nginx实现多个建木Server的负载均衡,用户也可以使用其他中间件实现 

  • 建木UI配置

安装Nginx,构建建木UI并部署到Nginx,配置示例:

完整配置请查看nginx-http.conf

# 如下为建木UI页面配置相关片段
server {
  location / {
    # build后的页面放到该目录下
    root /home/dist;
    index index.html;
    try_files $uri $uri/ /index.html;
  }
}
复制代码
  • 建木Server配置

建木实现了基于Redis的通信机制,多个Server之间可以通过Redis通信协作,配置示例:

SPRING_REDIS_HOST: xxx.xxx.xxx.xxx
SPRING_REDIS_DATABASE: 0
SPRING_REDIS_PASSWORD: xxx
JIANMU_EVENT_TYPE: redis
复制代码

配置quartz存储方式为jdbc:

quartz集群需要导入mysql文件

SPRING.QUARTZ.JOB-STORE-TYPE: jdbc 
复制代码

为防止并发,只需一台建木Server开启流程实例自动清理(默认开启),其他机器应关闭流程实例自动清理:

# 表示关闭自动清理流程实例记录
JIANMU_GLOBAL_RECORD_AUTO-CLEAN: 'false'
复制代码

多Server部署时,需配置共享存储,并挂载共享目录:

volumes:
  - /xxx/xxx:/ci
复制代码

负载均衡,配置示例:

完整配置请查看nginx-http.conf

# 如下为建木Server负载均衡配置相关片段
upstream ci-server {
  # 建木Server1 ip:port
  server x.x.x.x:8081;
  # 建木Server2 ip:port
  server x.x.x.x:8081;
}
复制代码
  • 建木Worker配置

Worker配置的建木地址需要设置为建木Server的统一访问入口,如上图为Nginx的ip:port

JIANMU_SRV_ADDRESS: http://ip:port
复制代码

配置完成后,启动建木服务,建木HA就部署完成了!

官⽹:jianmu.dev

代码:gitee.com/jianmu-dev

文档:docs.jianmu.dev

示例:ci.jianmu.dev

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值