无限水平扩容服务之 Infra

无限水平扩容服务之 Infra

概述

整洁架构 Infra 基础设施层,Dubbo 生产者服务角色,向注册中心注册服务,即可水平扩容。
但当 Dubbo 服务访问的数据库是 Primary/SECONDARY 架构时,Infra 需要进行改造。

改造调整

接上篇文章
1. 把H2切换成 Primary/SECONDARY 架构的 MySQL MGR集群
2. Spring Datasource Driver 切换成 ShardingSphere-JDBC

秒级搭建 MySQL MGR 集群

Docker和Docker-Compose环境下,使用 万里数据库 docker-compose yml
yml下载地址:https://gitee.com/GreatSQL/GreatSQL-Docker/blob/master/docker-compose/mgr-3nodes.yml

调整 mgr-3nodes.yml

调整了 镜像版本,ports,subnet

version: '2'

services:
  mgr2:
    image: greatsql/greatsql:8.0.25-16 #指定镜像
    container_name: mgr2    #设定容器名字
    hostname: mgr2          #设定容器中的主机名
    ports:
      - "3302:3306"
    networks:               #指定容器使用哪个专用网络
      mgr_net:
        ipv4_address: 172.16.0.2    #设置容器使用固定IP地址,避免重启后IP变化
    restart: unless-stopped         #设定重启策略
    environment:                    #设置多个环境变量
      TZ: Asia/Shanghai             #时区
      MYSQL_ROOT_PASSWORD: root                 #允许root账户空密码
      MYSQL_INIT_MGR: 1                             #初始化MGR集群
      MYSQL_MGR_LOCAL: '172.16.0.2:33061'           #当前MGR节点的local_address
      MYSQL_MGR_SEEDS: '172.16.0.2:33061,172.16.0.3:33061,172.16.0.4:33061'     #MGR集群seeds
      MYSQL_MGR_START_AS_PRIMARY: 1                 #指定当前MGR节点为Primary角色
      MYSQL_MGR_ARBITRATOR: 0
  mgr3:
    image: greatsql/greatsql:8.0.25-16
    container_name: mgr3
    hostname: mgr3
    ports:
      - "3303:3306"
    networks:
      mgr_net:
        ipv4_address: 172.16.0.3
    restart: unless-stopped
    depends_on:
      - "mgr2"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: root
      MYSQL_INIT_MGR: 1
      MYSQL_MGR_LOCAL: '172.16.0.3:33061'
      MYSQL_MGR_SEEDS: '172.16.0.2:33061,172.16.0.3:33061,172.16.0.4:33061'
      MYSQL_MGR_START_AS_PRIMARY: 0
      MYSQL_MGR_ARBITRATOR: 0                       #既非Primary,也非Arbitrator,那么就是Secondary角色了
  mgr4:
    image: greatsql/greatsql:8.0.25-16
    container_name: mgr4
    hostname: mgr4
    ports:
      - "3304:3306"
    networks:
      mgr_net:
        ipv4_address: 172.16.0.4
    restart: unless-stopped
    depends_on:
      - "mgr3"
    envi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值