nginx集群

lvs 负载均衡

南笙酒味 提交于 2020-04-07 12:56:18
1.负载均衡lvs基本介绍 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器。这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtualserver.org 现在 LVS 已经是 Linux 内核标准的一部分。使用 LVS 可以达到的技术目标是:通过 LVS 达到的负载均衡技术和 Linux 操作系统实现一个高性能高可用的 Linux 服务器集群,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的性能。LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。 同样负载均衡也有软件硬件 软件:lvs,nginx,haproxy 硬件:F5 LVS: 1、抗负载能力强。抗负载能力强、性能高,能达到F5硬件的60%;对内存和cpu资源消耗比较低 2、工作在网络4层,通过vrrp协议转发(仅作分发之用),具体的流量由linux内核处理,因此没有流量的产生。 2、稳定性、可靠性好,自身有完美的热备方案;(如:LVS+Keepalived) 3、应用范围比较广,可以对所有应用做负载均衡; 4、不支持正则处理,不能做动静分离。 5、支持负载均衡算法:rr(轮循)、wrr(带权轮循)、lc(最小连接)、wlc(权重最小连接) 6、配置 复杂

实践出真知——一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离

Deadly 提交于 2020-04-06 01:47:45
实践出真知——一文教你搭建Nginx+Tomcat集群,实现负载均衡及动静分离 前言 ​ 想必大家对于Nginx和Tomcat都非常熟悉了,Nginx的应用非常广泛,不仅是对web静态资源非常友好,而且也是非常实用的反向代理和负载均衡软件。结合后端Tomcat的服务,从而搭建Nginx+Tomcat集群。 ​ 对于直接想要实践的朋友而言可以获取本文的链接中的软件包后直接看第三备份的内容。 一、集群搭建结构及拓扑 1.1集群架构图示 Nginx+Tomcat集群的结构示意图如下: 1.2系统环境与地址规划 使用三台Centos7服务器(7.4),规划如下: 服务器 网卡模式 IP地址 Nginx NAT 20.0.0.128 Tomcat1 NAT 20.0.0.130 Tomcat2 NAT 20.0.0.136 1.3拓扑图如下 1.4相关资源软件 链接: https://pan.baidu.com/s/1Qdla-vrpcspcAKJucZdSUg 提取码:40it 二、搭建思路及核心部分配置 ​ 根据上述的结构图示,为了完成该实践内容,需要先梳理搭建的思路,搞清楚核心部分的操作与配置。 1、首先我们需要在三台服务器上编译安装对应的服务(软件包在上面的链接中),测试服务是否正常; 2、其次基于核心功能:负载均衡以及动态分离,需要一步一步理清楚 基于负载均衡 ​

k8s集群日志收集

旧巷老猫 提交于 2020-04-05 03:53:11
k8s集群日志收集 收集哪些日志 K8S系统的组件日志 K8S Cluster里面部署的应用程序日志 日志方案 Filebeat+ELK        Filebeat(日志采集工具)+Logstach(数据处理引擎)+Elasticserch(数据存储、全文检索、分布式搜索引擎)+Kibana(展示数据、绘图、搜索)        3 容器中的日志怎么收集        收集方案:Pod中附加专用日志收集的容器 优点:低耦合 缺点:每个Pod启动一个日志收集代理,增加资源消耗和运维维护成本              4 部署DaemonSet采取k8s组件日志/var/log/messages        4.1 ELK安装在harbor节点        安装、配置ELK        1)安装openjdk yum -y install java-1.8.0-openjdk              2)安装Logstash https://www.elastic.co/guide/en/logstash/7.6/installing-logstash.html              配置网络源 /etc/yum.repos.d/logstash.repo [logstash-7.x] name=Elastic repository for 7.x packages

Nginx 第三方模块的安装以及一致性哈希算法的使用

一世执手 提交于 2020-04-03 09:02:14
Nginx 第三方模块的安装以及一致性哈希算法的使用 第三方模块安装方法总结: 以ngx_http_php_memcache_standard_balancer-master为例 1:解压 到 path/ngx_module 配置:add_module=后面写的就是被解压之后的模块的位置 ./configure --prefix=/xxx/xxx --add_module=/path/ngx_module 编译 安装 Make && make instal 需要一致性哈希算法,来统一nginx和php的mc算法,使得二者的算法同步 wget 一致性哈希算法的zip 解压 通过-V来查看一下nginx编译时候的选项(这一步只是看到了这个命令,所以记录下来,不是必要的) 重新编译nginx 因为之前编译过,可以先make clean一下 编译之前最好先把nginx进程杀死 在nginx中做集群与负载均衡,步骤都是一样的 Upstream {}模块 把多台服务器加入到一个组 然后 memcached_pass, fastcgi_pass, proxy_pass ==> upstream组 默认的负载均衡的算法: 是设置计数器,轮流请求N台服务器. 可以安装第3方模式,来利用uri做hash等等. 如http://wiki.nginx.org

Docker部署Nginx、Tomcat集群

前提是你 提交于 2020-04-02 14:29:34
Tomcat集群由多个tomcat组成,使用Nginx的好处是可以实现负载均衡和动静分离。 使用Docker的好处是~~~我们不需要复杂的配置,只需要执行简单的命令就能拉取已有的官方docker镜像,再通过一条命令就能运行我们的实例了。对于多个Tomcat,我们使用相同的镜像,然后使用简单的命令,就能创建不同的tomcat container实例。 1.拉去镜像 $ docker pull tomcat:8-jre8-alpine $ docker pull nginx:latest $ docker images 2.创建tomcat文件夹和webapps的交换文件夹,并创建container $ docker run --name tomcat1 -p 18080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -d tomcat:8-jre8-alpine # cc8d9b8bc8a90d0768df15f94ae2cb37694021cf637d0610d10eaee669b0d5bad $ docker run --name tomcat2 -p 28080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -d tomcat:8-jre8-alpine #

互联网公司分布式集群架构图入门解析(简单通俗易懂,超详细)

旧巷老猫 提交于 2020-04-01 00:06:23
互联网公司分布式集群架构图入门解析(简单通俗易懂,超详细) 置顶 2018年11月08日 09:32:44 英俊帅比林 阅读数:1769 标签: 集群 分布式 互联网架构 java 更多 个人分类: JavaWeb 一、小型公司网络架构 狗子是某大学计算机专业本科应届毕业生,由于自己的技术不错,再加上互联网产业的巨大利润的驱使,狗子决定走上创业这条路,于是,狗子联合了同学二黑,鸡子,狗蛋等人花费了几个月的时间写出了一套网站,是关于足球资讯的pc端网站加上手机APP客户端。现在产品测试成功了,准备发布了,狗子想到了两个问题: 1.网站需要服务器 狗子之前所有的代码测试都是在本地服务器或者局域网上进行的,现在需要把产品发布到外网上,让所有的人都能访问,因此再用自己的电脑当服务器显然很不现实,于是,狗子去买了一台服务器,在上面装了jdk,tomcat,mysql等必备环境,把网站搭了起来,又经过了很多测试,运行毫无问题了,通过网站的ip可以访问并且实现功能了,而且app的后台也在服务器上测试成功了,目前公司的架构如图所示: 那么问题又来了: 2.网站需要域名 显然,如果让各地的用户需要记住你服务器的ip地址才能访问你的网站的话,那是会被用户拿刀追着砍的。因此,狗子需要一个便于记住的域名,以后在浏览器输入这个域名就能够访问这个网站,所以,狗子拿着申请下来的各种资质,找到了域名贩卖商

nginx集群tomcat,session共享问题

浪尽此生 提交于 2020-03-31 05:21:50
简介 上一篇中,nginx实现了tomcat集群,但是其实集群还有很多问题,比如session共享问题。简单来说就是通过负载均衡之后,用户第一次请求的tomcat和第二次请求的tomcat基本不是同一个,但是你在第一次请求放在session中的值只有一个tomcat才,第二个请求的那个tomcat里面是没有的。这样就出现了用户不停登入的情况。。。 方法一:复制session信息 原理:讲道理,这个方法比较蠢,就是有几个tomcat,就复制几个session,只要有一个tomcat中的session发生变化,其他tomcat中的session跟着复制变化,保证所有用户的session在所有的tomcat中都存在而且相同。这样一来无论用户的请求被分配到哪个tomcat都是无所谓的,因为所有的tomcat中都有他们存放的session。 打个比方:如果tomcat相当于饭店,会话相当于筷子的话,如果每次吃饭都要用自己的筷子,那是不是要把每个饭店都放一双自己的筷子。这就是这个方法的原理。 实现: 1、修改sever.xml文件:将Cluster的注释去掉 这里写图片描述 2、打开自己项目的web.xml(不是tomcat/conf/web.xml),增加distributable。 优点:实现简单,没有什么花里胡哨的操作。如果集群的tomcat不多,而且用户没有那么多的时候可以选择这种方式

[置顶] 负载均衡器技术Nginx和F5的优缺点对比

本小妞迷上赌 提交于 2020-03-31 03:58:09
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。 目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高网络层负载均衡,以及链路聚合技术。 我们使用的是软负载均衡器Nginx,而农行用的是F5硬负载均衡器,这里就简单介绍下这两种技术: a.软件负载均衡解决方案 在一台服务器的操作系统上,安装一个附加软件来实现负载均衡,如Nginx负载均衡(我们管理系统平台使用的也是这款均衡器)。它的优点是基于特定环境、配置简单、使用灵活、成本低廉,可以满足大部分的负载均衡需求。 一、什么是Nginx Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 可以说Nginx 是目前使用最为广泛的HTTP软负载均衡器,其将源代码以类BSD许可证的形式发布(商业友好),同时因高效的性能、稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名于业界。像腾讯、淘宝、新浪等大型门户及商业网站都采用Nginx进行HTTP网站的数据分流。 二、Nginx的功能特点 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构; 2、Nginx对网络的依赖比较小; 3

Nginx+keepalived负载均衡

谁都会走 提交于 2020-03-30 06:33:35
1、安装Nginx $ yum -y install gcc # nginx是c写的 $ yum -y install pcre-devel # url重写用到的包 $ yum -y install zlib zlib-devel # 解压缩用到的包 扩展①: yum install -y lsof lsof -i:80 #在nginx启动前,需要先检查端口是否被占用 yum install elinks # 除了elinks还有curl、lynx等文本浏览器 elinks http://192.168.229.10 -dump 安装killall命令 yum search killall yum -y install psmisc 2、虚拟主机 2.1、基于IP的虚拟主机 2.2、基于端口的虚拟主机 2.3、基于域名的虚拟主机 vim /etc/hosts 验证: 3、长连接 # 关闭长连接:0代表关闭 keepalive_timeout 0; # 开启长连接(默认开启) # keepalive_timeout 65; # 一个长连接处理最大请求数(定期释放内存,防止内存溢出) # keepalive_requests 8192; 4、压缩优化(数据压缩) gzip on; # 启动gzip压缩功能 gzip_proxied any; # nginx做前端代理时启用该选项

实现LNMT,nginx代理tomcat

蹲街弑〆低调 提交于 2020-03-30 01:45:53
环境: 1 nginx-proxy-server: 2 IP:192.168.1.131 3 [root@gz01-nginx-proxy-master ~]# uname -r 4 3.10.0-693.el7.x86_64 5 [root@gz01-nginx-proxy-master ~]# cat /etc/redhat-release 6 CentOS Linux release 7.4.1708 (Core) 7 8 tomcat集群:(查看前面单机多实例部署) 9 IP:192.168.1.124:8080 10 IP:192.168.1.124:8081 11 IP:192.168.1.124:8082 12 IP:192.168.1.124:8083 13 [root@gz01-tomcat-node01 ~]# uname -r 14 3.10.0-693.el7.x86_64 15 [root@gz01-tomcat-node01 ~]# cat /etc/redhat-release 16 CentOS Linux release 7.4.1708 (Core) 直接在nginx-proxy-server上设置跳转 1 [root@gz01-nginx-proxy-master ~]# vim /usr/local/nginx/conf/nginx.conf