部署

    • Linux/Unix/Mac/Windows
    • JDK8
    • 需要采用 Apache Maven 3.2.5 或者以上的版本来编译
    • 集成部署模式
      • 将 meta/data/session 三个角色打包集成在一个 jvm 里运行,可单机或集群部署,部署简单。
    • 独立部署模式
      • 将 meta/data/session 三个角色分开部署,每个角色都可以单机或集群部署,可根据实际情况为每个角色部署不同的数量。
      • 生产环境建议使用这种部署模式。

    1.1 下载源码

    1.2 编译打包

    2. 部署注册中心

    2.1 集成部署模式

    集成部署模式,是将 meta/data/session 三个角色打包集成在一个 JVM 里运行,可单机或集群部署。

    2.1.1 单机部署

    集成部署的单机部署模式可以直接参考部分。

    2.1.2 集群部署

    集群部署,即搭建2台以上的集群,建议至少使用3台(注意:目前不支持在同一台机器部署多个 SOFARegistry,因此您必须有3台不同的机器)。在每一台机器上的部署方法同上:

    1. cp server/distribution/integration/target/registry-integration.tgz <somewhere>
    2. cd <somewhere> && mkdir registry-integration
    3. tar -zxvf registry-integration.tgz -C registry-integration
    1. # 将3台机器的ip或hostname配置到下方(填入的hostname会被内部解析为ip地址)
    2. nodes.metaNode=DefaultDataCenter:<hostname1>,<hostname2>,<hostname3>
    3. nodes.localDataCenter=DefaultDataCenter
    4. nodes.localRegion=DefaultZone
    • 启动 registry-integration

    每台机器都修改以上配置文件后,按照“单机部署”的步骤去启动 registry-integration 即可。

    • Linux/Unix/Mac:sh bin/startup.sh。
    • Windows: 双击 bin 目录下的 startup.bat 运行文件。
      • 确认运行状态:对每一台机器,都可访问三个角色提供的健康监测api,或查看日志 logs/registry-startup.log

    独立部署模式,是将 meta/data/session 三个角色分开部署,每个角色都可以单机或集群部署,可根据实际情况为每个角色部署不同的数量,生产环境推荐使用这种部署模式。

    以下介绍332模式(即 3台meta + 3台data + 2台session)的部署步骤。

    2.2.1 部署meta

    • 解压 registry-meta.tgz,并修改配置文件
    1. cp server/distribution/meta/target/registry-meta.tgz <somewhere>
    2. cd <somewhere> && mkdir registry-meta

    每台机器在部署时需要修改 conf/application.properties 配置:

    1. # 将3台meta机器的ip或hostname配置到下方(填入的hostname会被内部解析为ip地址)
    2. nodes.metaNode=DefaultDataCenter:<meta_hostname1>,<meta_hostname2>,<meta_hostname3>
    3. nodes.localDataCenter=DefaultDataCenter
    • 启动 registry-meta
      • Linux/Unix/Mac:sh bin/startup.sh。
      • Windows: 双击 bin 目录下的 startup.bat 运行文件。
    • 确认运行状态:对每一台机器,都可访问meta提供的健康监测api,或查看日志 logs/registry-startup.log
    1. # 查看 meta 角色的健康检测接口:(3台机器,有1台是 Leader,其他2台是 Follower)
    2. {"success":true,"message":"... raftStatus:Leader"}

    2.2.2 部署data

    • 解压 registry-data.tgz,并修改配置文件

    在3台机器上部署 data 角色。在每一台机器上的部署方法如下:

    每台机器在部署时需要修改 conf/application.properties 配置:

    1. # 将3台 meta 机器的 ip 或 hostname 配置到下方(填入的 hostname 会被内部解析为 ip 地址)
    2. nodes.metaNode=DefaultDataCenter:<meta_hostname1>,<meta_hostname2>,<meta_hostname3>
    3. nodes.localDataCenter=DefaultDataCenter
    • 启动 registry-data
      • Linux/Unix/Mac:sh bin/startup.sh。
      • Windows: 双击 bin 目录下的 startup.bat 运行文件。
    • 确认运行状态:对每一台机器,都可访问data提供的健康监测api,或查看日志 logs/registry-startup.log
    1. # 查看 data 角色的健康检测接口:
    2. $ curl http://localhost:9622/health/check
    3. {"success":true,"message":"... status:WORKING"}

    2.2.3 部署session

    • 解压 registry-session.tgz,并修改配置文件
    1. cp server/distribution/session/target/registry-session.tgz <somewhere>
    2. cd <somewhere> && mkdir registry-session
    3. tar -zxvf registry-session.tgz -C registry-session

    每台机器在部署时需要修改 conf/application.properties 配置:

    • 启动 registry-session
      • Linux/Unix/Mac:sh bin/startup.sh。
      • Windows: 双击 bin 目录下的 startup.bat 运行文件。
    • 确认运行状态:对每一台机器,都可访问session提供的健康监测api,或查看日志 logs/registry-startup.log
    1. # 查看session角色的健康检测接口:
    2. $ curl http://localhost:9603/health/check