返回介绍

集群管理

发布于 2023-10-10 23:52:03 字数 3145 浏览 0 评论 0 收藏 0

在大多数生产环境中,后端应用需要支持高吞吐量并且支持高可用来保证服务的稳定,所以你始终需要在生产环境进行集群管理。

SkyWalking 的后台提供了几种集群管理的方案。选择你需要或想要的那个。

  • Zookeeper coordinator

    Zookeeper 是一个很常见并的广泛使用的集群协调者。在 yml 文件中设置 cluster/selectorzookeeper 来启用它。

    Zookeeper 需要在 3.4 以上版本。

    cluster:
      selector: ${SW_CLUSTER:zookeeper}
      # other configurations
    
    • hostPort 是 zookeeper 一组服务列表。 格式: IP1:PORT1,IP2:PORT2,...,IPn:PORTn
    • enableACL 启用 Zookeeper ACL 来控制访问 zk 节点.
    • schema Zookeeper ACL schemas.
    • expression ACL 的表达式. 表达式的格式是针对于 schema.
    • hostPort, baseSleepTimeMsmaxRetries 是Zookeeper客户端的设置。

    提醒:

    • 如果 Zookeeper ACL 是启用的并且 /skywalking 节点存在,必须确保 SkyWalking 拥有 CREATE, READWRITE 的权限。如果 /skywalking 节点不存在,将会自动创建并针对指定用户授权所有权限。同时节点也会授权任意用户读权限。
    • 如果设置 schemadigest ,密码的表达式设置在 明文 中。

    在某些情况下,OAP 默认的 gRPC 主机和端口在核心中不适合 OAP 节点之间的内部通信。根据您自己的 LAN 环境,可通过下列参数设置你的 host 和 port。

    • internalComHost, 已注册的主机和其它 OAP 节点使用它与当前节点通信。
    • internalComPort, 已注册的端口和其它 OAP 节点使用它与当前节点通信。
    zookeeper:
      nameSpace: ${SW_NAMESPACE:""}
      hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181}
      #Retry Policy
      baseSleepTimeMs: ${SW_CLUSTER_ZK_SLEEP_TIME:1000} # initial amount of time to wait between retries
      maxRetries: ${SW_CLUSTER_ZK_MAX_RETRIES:3} # max number of times to retry
      internalComHost: 172.10.4.10
      internalComPort: 11800
      # Enable ACL
      enableACL: ${SW_ZK_ENABLE_ACL:false} # disable ACL in default
      schema: ${SW_ZK_SCHEMA:digest} # only support digest schema
      expression: ${SW_ZK_EXPRESSION:skywalking:skywalking}
    

    Kubernetes

    需要后端集群部署在 kubernetes 中,参考 kubernetes 中部署。设置 selector 为 kubernetes

    cluster:
      selector: ${SW_CLUSTER:kubernetes}
      # other configurations
    

    Consul

    目前,consul 正成为一个著名的系统,很多公司和开发者使用它作为服务发现的方案。在 yml 文件中设置 cluster/selectorconsul 启用它。

    cluster:
      selector: ${SW_CLUSTER:consul}
      # other configurations
    

    与 Zookeeper 协调器一样,在某些情况下,OAP 默认的 gRPC 主机和端口在核心中不适合 OAP 节点之间的内部通信。根据您自己的 LAN 环境,可通过下列参数设置你的 host 和 port。

    • internalComHost, 已注册的主机和其它 OAP 节点使用它与当前节点通信。
    • internalComPort, 已注册的端口和其它 OAP 节点使用它与当前节点通信。

    Etcd

    在 yml 文件中设置 cluster/selectoretcd 启用它。

    cluster:
      selector: ${SW_CLUSTER:etcd}
      # other configurations
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文