阿里云负载均衡配置多域名 阿里云slb限流措施方法

在使用阿里云服务的过程中,针对TCP负载均衡场景,会出现这样的问题:如果一个应用的客户端镜像和服务器镜像都部署在同一个节点(ECS)上,由于SLB的限制,应用的客户端无法通过SLB访

本文最后更新时间:  2023-03-27 13:36:52

在使用阿里云服务的过程中,针对TCP负载均衡场景,会出现这样的问题:如果一个应用的客户端镜像和服务器镜像都部署在同一个节点(ECS)上,由于SLB的限制,应用的客户端无法通过SLB访问本地服务器。本文试图以基于TCP协议的常用redis为例,一步步解决这个问题,同时向大家展示容器服务的概念。

解决方案1:通过调度容器,可以防止客户机和服务器容器部署在同一个节点上。

示例应用程序模板(使用lb标签,使用swarm fileter函数)

redis-master:端口:

–6379:6379/tcp图像:‘雷迪斯:阿尔卑斯’

标签:

aliyun . lb . port _ 6379:TCP://proxy _ test:6379 redis-client:image:‘雷迪斯:阿尔卑斯’

链接:

–redis-主环境:

–‘亲和力:aliyun.lb.port_6379!= TCP://proxy _ test:6379 ’

命令:redis-CLI-h 120.25.131.64

stdin_open: true tty: true

注意事项:

如果发现调度不生效,进入服务列表,选择你需要调度的服务,选择重新调度,选择强制重新调度强制重新调度会丢弃已有容器的volume,请做好相应的备份迁移工作

解决方案2:容器集群内部的客户端使用link访问服务器,集群外部使用SLB。

示例模板(使用lb标签)

redis-master:端口:

–6379:6379/tcp图像:‘雷迪斯:阿尔卑斯’

标签:

aliyun . lb . port _ 6379:TCP://proxy _ test:6379 redis-client:image:‘雷迪斯:阿尔卑斯’

链接:

–redis-master命令:redis-CLI-h redis-master stdin _ open:true tty:true

解决方案3:容器集群内部的客户端使用自定义路由(基于HAProxy)作为代理访问服务器,而集群外部的客户端使用SLB。

示例模板应用(使用lb标签,自定义路由镜像)

lb:图片:registry.aliyuncs.com/acs/proxy:0.5

端口:

–‘6379:6379/TCP ’

重新启动:总是标签:

# addon使代理镜像能够订阅注册表并动态加载服务的路由。

aliyun . custom _ addon:“代理”

#为每个虚拟机部署该映像的容器。

aliyun . global:“真”

#前端装订Slb,使用lb标签

aliyun . lb . port _ 6379:TCP://proxy _ test:6379

#告诉系统自定义路由需要等待主从启动后才能启动,并且依赖于主从。

aliyun.depends: redis-master,redis-slave环境:

#支持装载路线的后端集装箱的范围,”*”代表整个集群,默认为应用内服务ADDITIONAL _ SERVICES:“*”

EXTRA _ DEFAULT _ SETTINGS:“log rsyslog local0,log global,option httplog & # 8221

#配置HAProxy在tcp mode模式下工作:“tcp & # 8221

链接:

–rsyslog:rsyslogrsyslog:image:registry . cn-Hangzhou . aliyuncs . com/linhuatest/rsyslog:latestredis-master:ports:

–6379/tcp图像:‘雷迪斯:阿尔卑斯’

标签:

#告诉自定义路由暴露端口6379。

aliyun . proxy . TCP _ PORTS:“6379”

#告诉系统需要将此服务的路由添加到自定义路由服务中。

aliyun . proxy . required:“真”redis从属:端口:

–6379/tcp图像:‘雷迪斯:阿尔卑斯’

链接:

–redis-主标签:

#告诉自定义路由暴露端口6379。

aliyun . proxy . TCP _ PORTS:“6379”

#告诉系统需要将此服务的路由添加到自定义路由服务中。

aliyun . proxy . required:“真”

#告诉系统slave需要等待master启动后才能启动,它依赖于master。

aliyun.depends: redis-master命令:redis-server –slave of redis-master 6379 redis-client:image:‘雷迪斯:阿尔卑斯’

链接:

–lb:www.example.com标签:

aliyun.depends: lb命令:redis-CLI-h www.example.com stdin _ open:true tty:true

该方案实现了redis的主从架构,同时通过自定义路由镜像进行负载均衡,在一定程度上实现了高可用性。

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。