负载均衡

大型网站架构演化简述

可紊 提交于 2020-03-02 11:40:29
前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展 逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统 架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的商品信息的搜索、下单、支付,例如腾讯, 要解决数亿的用户实时消息传输,百度它要处理海量的搜索请求,他们都有各自的业务特性,系统架构也有所不同。尽管如此我们也可以从这些不同的网站背景下, 找出其中共用的技术,这些技术和手段可以广泛运行在大型网站系统的架构中,下面就通过介绍大型网站系统的演化过程,来认识这些技术和手段。 一、最开始的网站架构 最初的架构,应用程序、数据库、文件都部署在一台服务器上,如图: 二、应用、数据、文件分离 随着业务的扩展,一台服务器已经不能满足性能需求,故将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。 三、利用缓存改善网站性能 在硬件优化性能的同时,同时也通过软件进行性能优化,在大部分的网站系统中,都会利用缓存技术改善系统的性能,使用缓存主要源于热点数据的存在,大 部分网站访问都遵循28原则(即80%的访问请求

nginx tomcat负载均衡配置

此生再无相见时 提交于 2020-03-02 06:09:54
步骤一:到nginx官网下载nginx, 我是下载的最新版本 nginx/Windows-1.9.10 , 下载链接 http://nginx.org/en/download.html。 步骤二:将下载下来的文件解压,打开nginx-1.9.10 conf目录,修改nginx.conf。找到#gzip on;这句代码 在代码下面配置要代理的tomcat upstream localhost { server localhost:8081 weight=1; server localhost:8082 weight=2; } server { listen 9000; //默认端口是80被占用了,所以改成9000了 server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; proxy_connect_timeout 3; proxy_send_timeout 30; proxy_read_timeout 30; proxy_pass http://localhost ; } 在location配置里面加上红色字体代码; 配置好之后到nginx-1.9.10目录下shift+鼠标右键

nginx+tomcat实现负载均衡

风格不统一 提交于 2020-03-02 04:11:03
1.什么是tomcat? Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 其主要的应用场景是解析动态程序代码(JAVA) JSP程序可以处理Tomcat界面 2. 配置nginx+tomcat实现负载均衡 tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/解压到指定目录下面,这么目录随便 tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/ cd /usr/local/进入指定的解压目录 ls查看 ln -s apache-tomcat-7.0.37 tomcat给tomcat服务做一个软连接 vim /etc/profile在环境变量当中加入java命令 export JAVA_HOME=/usr/local/jdk1.7.0_79 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin source /etc/profile使其生效 java可以tab java -version查看java的版本 测试JAVA程序成功,说明环境配置没有问题。

架构:亿级Web系统负载均衡几种实现方式

扶醉桌前 提交于 2020-03-01 22:37:31
负载均衡(Load Balance)是集群技术(Cluster)的一种应用技术。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。 什么是web负载均衡 服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为: 高性能集群:将单个重负载的请求分散到多个节点进行处理,最后再将处理结果进行汇总。 高可用集群:提高冗余单元,避免单点故障。 负载均衡集群:将大量的并发请求分担到多个处理节点。由于单个处理节点的故障不影响整个服务,负载均衡集群同时也实现了高可用性。 一般提到的负载均衡(Load Balance),是指实现负载均衡集群。负载均衡实现了横向扩展,避免纵向的升级换代。本文中的web负载均衡,特指能够分担web请求(http,https等)的负载均衡技术。 基本原理 任何的负载均衡技术都要想办法建立某种一对多的映射机制: 一个请求的入口映射到多个处理请求的节点,从而实现分而治之(Divide and Conquer)。 这种映射机制使得多个物理存在对外体现为一个虚拟的整体,对服务的请求者屏蔽了内部的结构。 采用不同的机制建立映射关系

nginx+tomcat实现负载均衡

六月ゝ 毕业季﹏ 提交于 2020-03-01 19:44:24
1.tomcat是什么? Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器 ,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应 HTML ( 标准通用标记语言 下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 2.nginx代理tomcat实现负载均衡 首先,整理思路。我有三台机器: nginx代理服务器:172.25.60.9 tomcat服务器1:172.25.60.7 tomcat服务器2:172.25.60.8 1.两台tomcat服务器安装tomcat: 需要安装jdk运行环境和tomcat 2.启动tomcat 查看端口: 2.浏览器测试: 3.编辑测试文件: 4.浏览器测试: 5.在nginx代理服务器编辑配置文件,作代理: 6.浏览器测试:实现负载均衡 来源: CSDN 作者: monster_hahaha 链接: https://blog.csdn.net/qq_42806574/article/details/104596065

NSX介绍-翻译

心已入冬 提交于 2020-03-01 14:41:09
第二章,网络虚拟化介绍 2.1 NSX网络虚拟化解决方案综述 NSX产品的部署形态,包括数据平面、管理平面和控制平面,如图4所示。 图4:NSX组成 NSX架构的原理是将数据、控制、管理层面分离。NSX的组件构成,每个组件的架构都在图4中给出了展示。分离的架构设计,可以让NSX整体架构不断扩大,并且规模不受负载的影响。每一个层面以及各自的整体描述,会在下边详细描述。 2.1.1数据层面 数据层面是通过NSX的vSwitch实现的。NSX提供给vSphere的vSwitch,是基于VDS实现的,这个VDS是通过增加额外组件实现的比之前更强大的虚拟分布式交换。NSX的可扩展组件包括内核模块,都是按照VMware软件的分布式部署方式扩展的。这些模块都运行在hypervisor层。能够提供的服务包扩:分布式路由、分布式防火墙以及vxlan到vlan的桥接。 NSX的VDS精简了物理网络,比方说在hypervisor层实现的接入层交换机。这对于虚拟化的网络能够在逻辑上不受物理网络架构限制是及其重要的。 NSX的vSwitch之所以能够实现现在的能力,是因为其使用vxlan协议的overlay技术,以及集中式的网络架构。基于overlay技术的NSX使一下部分成为可能: 在现有的物理网络架构下,通过IP网络overlay技术构建灵活的二层网络。

搭建 Kubernetes 高可用集群

人盡茶涼 提交于 2020-03-01 12:32:51
搭建 Kubernetes 高可用集群 https://www.cnblogs.com/dudu/p/12168433.html挺好的资料。 使用 3 台阿里云服务器(k8s-master0, k8s-master1, k8s-master2)作为 master 节点搭建高可用集群,负载均衡用的是阿里云 SLB ,需要注意的是由于阿里云负载均衡不支持后端服务器自己转发给自己,所以 master 节点的 control-plane-endpoint 不能走负载均衡。 先在 k8s-master0 上安装好 k8s ,安装步骤见 Ubuntu 安装 k8s 三驾马车 kubelet kubeadm kubectl ,然后打快照创建阿里云 ecs 镜像。 确定 control-plane-endpoint 主机名,这里假设是 k8s-api ,在 k8s-master0 的 hosts 中添加 k8s-api 的解析。 10.0.1.81 k8s-api 在 k8s-master0 上创建集群, kubeadm init \ --control-plane-endpoint "k8s-api:6443" --upload-certs \ --image-repository registry.aliyuncs.com/google_containers \ --pod-network

Spring Cloud 入门总结

前提是你 提交于 2020-03-01 11:19:44
文章目录 1.写在前面的话 马上要考试了!!! 2.什么是Spring cloud 3.Spring Cloud 的版本 3.Spring Cloud 的服务发现框架——Eureka 4.负载均衡之 Ribbon 4.1 什么是 RestTemplate? 4.2 为什么需要 Ribbon? 4.3 Nginx 和 Ribbon 的对比 4.4 Ribbon 的几种负载均衡算法 5.什么是 Open Feign 6.必不可少的 Hystrix 6.1 什么是 Hystrix之熔断和降级 6.2 什么是Hystrix之其他 7.微服务网关——Zuul 7.1 Zuul 的路由功能 7.1.1 简单配置 7.1.2 统一前缀 7.1.3 路由策略配置 7.1.4 服务名屏蔽 7.1.5 路径屏蔽 7.1.6 敏感请求头屏蔽 7.2 Zuul 的过滤功能 7.2.1 简单实现一个请求时间日志打印 7.2.2 令牌桶限流 7.3 关于 Zuul 的其他 8.Spring Cloud配置管理——Config 8.1 为什么要使用进行配置管理? 8.2 Config 是什么 9.引出 Spring Cloud Bus 10.总结 1.写在前面的话 马上要考试了!!! 作为一个苦逼的在读大学生,又要面临半年一度的期末考试了,因为上课没听,我啥都不会,什么通信原理,单片机。。。饶了我吧!!!

大型系统的发布部署方案

痞子三分冷 提交于 2020-03-01 06:37:37
动态应用,是相对于网站静态内容而言,是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统等密不可分。   大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。   大型动态应用系统又可分为几个子系统:   1)Web前端系统   2)负载均衡系统   3)数据库集群系统   4)缓存系统   5)分布式存储系统   6)分布式服务器管理系统   7)代码分发系统   Web前端系统   结构图:   为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应用也会受益。该Web前端系统基于Apache/Lighttpd/Eginx等的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理   负载均衡系统   负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如F5等。软件负载均衡系统价格较低或者免费

大型高性能ASP.NET系统架构设计

和自甴很熟 提交于 2020-03-01 06:37:18
大型 动态应用系统 平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统: Web前端系统、负载均衡系统、数据库集群系统、缓存系统、分布式存储系统、分布式服务器管理系统、代码分发系统 1、Web前端系统 为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同时使他应用也会受益。 该Web前端系统基于IIS/ASP.NET等的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理。 2、负载均衡系统 负载均衡系统分为硬件和软件两种。硬件负载均衡效率高,但是价格贵,比如F5等。软件负载均衡系统价格较低或者免费,效率较硬件负载均衡系统低,不过对于流量一般或稍大些网站来讲也足够使用,比如lvs,nginx。大多数网站都是硬件、软件负载均衡系统并用。 3、数据库集群系统 由于Web前端采用了负载均衡集群结构提高了服务的有效性和扩展性,因此数据库必须也是高可靠的才能保证整个服务体系的高可靠性,如何构建一个高可靠的、可以提供大规模并发处理的数据库体系?