HAproxy

Balancing traffic using least connection in Kubernetes

谁说胖子不能爱 提交于 2020-07-22 05:34:16
问题 I have a Kubernetes cluster with a deployment like the next one: The goal here is to deploy an application in multiple pods exposed through a ClusterIP service named my-app . The same deployment is made in multiple namespaces (A, B and C), changing slightly the config of the application. Then, in some nodes I have an HAProxy using hostNetwork to bind to the node ports. These HAProxy are exposed to my clients through a DNS pointing to them (my_app.com). When a client connects to my app, they

HAProxy closes long living TCP connections ignoring TCP keepalive

試著忘記壹切 提交于 2020-06-10 13:46:22
问题 I have configured HAProxy (1.5.4, but I tried also 1.5.14) to balance in TCP mode two server exposing AMQP protocol (WSO2 Message Broker) on 5672 port. The clients create and use permanent connection to the AMQP Servers, via HAProxy. I've changed the client and server TCP keepalive timeout, setting net.ipv4.tcp_keepalive_time=120 (CentOS 7). In HAProxy I've setted timeout client/server to 200 seconds (>120 seconds of the keepalive packets) and used the option clitcpka. Then I've started

Using ID in URL for load balancing with HAProxy

时光怂恿深爱的人放手 提交于 2020-06-01 07:53:44
问题 I know it is possible to make connections sticky based on url a parameter: https://serverfault.com/questions/495049/using-url-parameters-for-load-balancing-with-haproxy?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa Is it also possible to do it based on an ID in the url path? If my url is: /objects/:objectId Can I somehow use that :objectId to make the connection sticky? EDIT I was able to load balance making the request sticky on the url path using the configuration

nginx有配置过吗?反向代理了解吗?什么情况下会用到反向代理?

旧城冷巷雨未停 提交于 2020-05-08 08:42:44
今天给大家分享一下,修真院官网JAVA任务三的一个知识点:nginx服务器有什么作用?什么叫反向代理?为什么要使用反向代理? 1 背景介绍 1.1 Nginx是什么? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 2 知识剖析 2.1 nginx服务器有什么作用? 1、反向代理 2、负载均衡 3、动静分离 2.2 什么叫反向代理? 反向代理:反向代理(ReverseProxy)是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,简单来说就是真实的服务器不能直接被外部网络访问,想要访问必须通过代理。 2.3 为什么要使用反向代理 1、防止主服务器被恶意攻击 2、为负载均衡和动静分离提供实现支持 2.4 什么是负载均衡?负载均衡的作用是什么? 负载均衡就是将任务分摊到多个操作单元上进行执行。对于Nginx而言,就是将收到的访问请求分发给不同的Web服务器,以提高访问性能以及可靠性。负载均衡可以有效防止一个服务器宕机而导致服务停止。 当一台服务器的单位时间内的访问量越大时

K8S实战(一)| 运营管理生产级 K8S 高可用集群之初始化

蹲街弑〆低调 提交于 2020-05-08 01:54:58
前言 春暖花开的五月,疫情基本过去,值得庆贺,今天就来实战K8S的高可用负载均衡集群。 更新历史 2020 年 05月 07 日 - 初稿 - 左程立 原文地址 - https://blog.zuolinux.com/2020/05/07/k8s-cluster-on-centos7.html 平台环境 软件信息 CentOS Linux release 7.7.1908 (Kernel 3.10.0-1062.18.1.el7.x86_64) Docker CE 18.09.9 Kubernetes v1.18.2 Calico v3.8 Keepalived v1.3.5 HAproxy v1.5.18 硬件信息 主机名 ip master01 192.168.10.12 master02 192.168.10.13 master03 192.168.10.14 work01 192.168.10.15 work02 192.168.10.16 work03 192.168.10.17 VIP 192.168.10.19 集群配置 初始化 master/worker 均执行 # cat >> /etc/hosts << EOF 192.168.10.12 master01 192.168.10.13 master02 192.168.10.14 master03 192.168

Linux实战教学笔记30:Nginx反向代理与负载均衡应用实践

醉酒当歌 提交于 2020-05-05 21:49:20
1.1 集群简介 简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。当用户客户机请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器。 打开谷歌,百度的页面,看起来好简单,也许你觉得用几分钟就可以制作出相似的网页,而实际上,这个页面的背后是由成千上万台服务器集群协同工作的结果。而这么多的服务器维护和管理,以及相互协调工作也许就是同学们未来的工作职责了。 若要用一句话描述集群,即一堆服务器合作做同一件事,这些机器可能需要整个技术团队架构,设计和统一协调管理,这些机器可以分布在一个机房,也可以分布在全国全球各个地区的多个机房。 1.2 为什么要使用集群 (1)高性能 一些国家重要的计算密集型应用(如天气预报,核试验模拟等),需要计算机有很强的运算处理能力。以全世界现有的技术,即使是大型机,其计算能力也是有限的,很难单独完成此任务。因为计算时间可能会相当长,也许几天,甚至几年或更久。因此,对于这类复杂的计算业务,便使用了计算机集群技术,集中几十上百台,甚至成千上万台计算机进行计算。 假如你配一个LNMP环境,每次只需要服务10个并发请求

简单明了!OLTP场景下的数据分布式设计原则

天涯浪子 提交于 2020-05-05 18:19:08
作者介绍 温卫斌, 就职于中国民生银行信息科技部,目前负责分布式技术平台设计与研发,主要关注分布式数据相关领域。 前言 最近几年做分布式项目,很多工作是关于OLTP(联机交易系统)场景下数据分布式架构的,疫情期间正好整理下这方面的一些设计与实践。为避免篇幅太长,本文分为设计篇和技术篇,设计篇主要偏向数据拆分的理论与方法,还有一些原则与经验。技术篇则主要会介绍分库分表中间件的设计与使用实践,以及如何构建一个完整的分布式数据服务平台。 一般来说做分布式架构,应用层是好做分布式的,因为往往都是无状态的(或者通过将数据转移到DB、缓存、MQ等方式来实现无状态),只需在流量入口、即在应用前面加一个负载均衡即可(例如Nginx、HAProxy、F5),这在大单体架构也多已具备。所以一般我们说分布式架构,一个重要的部分就是要做数据的分布式化。 传统单体集中式架构 数据的分布式不像应用那么简单,因为各节点的数据可能是不一样的,需要进行路由、解决多副本一致性,甚至多写冲突等问题。虽然实现方案复杂,不过数据的分布式本质上就两种朴素思想:复制和分片。复制技术在传统关系数据库中也很常见,主要用来做主备、双活,例如 MySQL Replication、Oracle DataGuard等。分片在数据库里也有对应产品。例如 MySQL Fabric、Oracle Sharding,但与复制相比

LVS HAproxy Nginx

会有一股神秘感。 提交于 2020-05-04 08:00:45
Nginx: 工作在网络7层,可以针对http应用做一些分流的策略,比如针对域名,目录结构 Nginx对网络的依赖较小,理论上能ping通就能进行敷在功能 Nginx安装配置比较简单,测试起来很方便 也可以承担较高的负载压力且稳定,Nginx是为了解决c10k问题而诞生的 对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测 Nginx对请求的异步处理可以帮助节点服务器减轻负载压力 Nginx仅能支持http、https和Email协议,这样就在适用范围较小 不支持Session的直接保持,但能通过ip_hash来解决,对Bigrequestheader的支持不是很好 Nginx还能做Web服务器即Cache功能。 LVS: 抗负载能力强,性能高,能达到F5的60%,对内存和cpu资源消耗比较低 工作在网络4层,通过VRRP协议(仅做代理使用),具体的流量是由liunx内核来处理,因此没有流量的产生。 稳定,可靠性强,自身有完美的热备方案(Keepalived+LVS) 不支持正则处理,不能做动静分离 支持多种负载均衡算法:rr(轮询),wrr(带权轮询)、lc(最小连接)、wlc(带权最小连接) 配置相对复杂,对网络依赖比较大,稳定性很高。 LVS工作模式有4种: nat地址转换 dr直接路由 tun隧道 full-nat HAproxy: 支持两种代理模式

etcd集群部署与遇到的坑(转)

那年仲夏 提交于 2020-05-02 06:07:50
原文 https://www.cnblogs.com/breg/p/5728237.html etcd集群部署与遇到的坑 在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑。今天记录一下,为了以后更好操作。 ETCD参数说明 —data-dir 指定节点的数据存储目录,这些数据包括节点ID,集群ID,集群初始化配置,Snapshot文件,若未指定—wal-dir,还会存储WAL文件; —wal-dir 指定节点的was文件的存储目录,若指定了该参数,wal文件会和其他数据文件分开存储。 —name 节点名称 —initial-advertise-peer-urls 告知集群其他节点url. — listen-peer-urls 监听URL,用于与其他节点通讯 — advertise-client-urls 告知客户端url, 也就是服务的url — initial-cluster-token 集群的ID — initial-cluster 集群中所有节点 节点迁移 在生产环境中,不可避免遇到机器硬件故障。当遇到硬件故障发生的时候,我们需要快速恢复节点。ETCD集群可以做到在不丢失数据的,并且不改变节点ID的情况下,迁移节点。 具体办法是: 1)停止待迁移节点上的etc进程; 2)将数据目录打包复制到新的节点; 3)更新该节点对应集群中peer url

Rancher Server HA的高可用部署实验-学习笔记

一曲冷凌霜 提交于 2020-05-01 07:18:12
转载于https://blog.csdn.net/csdn_duomaomao/article/details/78771731 Rancher Server HA的高可用部署实验-学习笔记 一、机器规划 二、数据库服务器的安装 三、Rancher Server HA1的安装 四、Rancher Server HA2的安装 五、HAProxy 负载均衡器的安装 六、注册主机(工作主机) 七、参考链接(视频) 本文主要以Rancher培训视频为基础,做了学习笔记,方便自己日后查看。Rancher Server HA Demo视频: http://v.youku.com/v_show/id_XMjg2NTE3MDI2OA 一、机器规划 1、MySQL数据库服务器: 42.62.83.6 2、RancherServerHA1:42.62.83.5 3、RancherServerHA2:42.62.83.4 4、HAProxy负责均衡主机:42.62.83.3 5、RancherAgent主机:42.62.83.2 二、数据库服务器的安装 #安装mariadb数据库服务器 yum install -y mariadb mariadb-server #设置开机启动,并启动数据库服务器 chkconfig mariadb on service mariadb start