负载均衡

以淘宝为例,解析大型电商服务端架构!

廉价感情. 提交于 2020-03-24 11:28:38
3 月,跳不动了?>>> 作者:若汐缘 https://www.jianshu.com/p/796f488fd134 前言 以淘宝网为例,简单了解一下大型电商的服务端架构是怎样的。如图所示 最上面的就是安全体系系统,中间的就是业务运营系统,包含各个不同的业务服务,下面是一些共享服务,然后还有一些中间件,其中 ECS 就是云服务器,MQS 是队列服务,OCS 是缓存等等,右侧是一些支撑体系服务。 除图中所示之外还包含一些我们看不到的,比如高可用的体现。淘宝目前已经实现多机房容灾和异地机房单元化部署,为淘宝的业务也提供了稳定、高效和易于维护的基础架构支撑。 这是一个含金量非常高的架构,也是一个非常复杂而庞大的架构,当然这个架构不是一天两天演进成这样的,也不是一开始就设计并开发成这样的,对于初创公司而言,很难在初期就预估到未来流量千倍、万倍的网站架构会是怎样的状况,同时如果初期就设计成千万级并发的流量架构,也很难去支撑这个成本。 因此一个大型服务系统,都是从小一步一步走过来的,在每个阶段找到对应该阶段网站架构所面临的问题,然后不断解决这些问题,在这个过程中,整个架构会一直演进,同时内含的代码也就会演进,大到架构、小到代码都是在不断演进和优化的。所以说高大上的项目技术架构和开发设计实现不是一蹴而就的,这是所谓的万丈高楼平地起。 单机架构 从一个小网站说起,一般来说初始一台服务器就够了

以淘宝为例,解析大型电商服务端架构!

早过忘川 提交于 2020-03-24 11:26:39
作者:若汐缘 https://www.jianshu.com/p/796f488fd134 前言 以淘宝网为例,简单了解一下大型电商的服务端架构是怎样的。如图所示 最上面的就是安全体系系统,中间的就是业务运营系统,包含各个不同的业务服务,下面是一些共享服务,然后还有一些中间件,其中 ECS 就是云服务器,MQS 是队列服务,OCS 是缓存等等,右侧是一些支撑体系服务。 除图中所示之外还包含一些我们看不到的,比如高可用的体现。淘宝目前已经实现多机房容灾和异地机房单元化部署,为淘宝的业务也提供了稳定、高效和易于维护的基础架构支撑。 这是一个含金量非常高的架构,也是一个非常复杂而庞大的架构,当然这个架构不是一天两天演进成这样的,也不是一开始就设计并开发成这样的,对于初创公司而言,很难在初期就预估到未来流量千倍、万倍的网站架构会是怎样的状况,同时如果初期就设计成千万级并发的流量架构,也很难去支撑这个成本。 因此一个大型服务系统,都是从小一步一步走过来的,在每个阶段找到对应该阶段网站架构所面临的问题,然后不断解决这些问题,在这个过程中,整个架构会一直演进,同时内含的代码也就会演进,大到架构、小到代码都是在不断演进和优化的。所以说高大上的项目技术架构和开发设计实现不是一蹴而就的,这是所谓的万丈高楼平地起。 单机架构 从一个小网站说起,一般来说初始一台服务器就够了,文件服务器

高可用网站多点部署架构实战经验总结

落花浮王杯 提交于 2020-03-24 06:27:42
本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。 一、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 二、大型网站架构目标 高性能:提供快速的访问体验。 高可用:网站服务一直可以正常访问。 可伸缩:通过硬件增加/减少,提高/降低处理能力。 安全性:提供网站安全访问和数据加密,安全存储等策略。 扩展性:方便的通过新增/移除方式,增加/减少新的功能/模块。 敏捷性:随需应变,快速响应; 三、大型网站架构模式 分层:一般可分为,应用层,服务层,数据层,管理层,分析层; 分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页,用户中心。 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。 缓存:将数据放在距离应用或用户最近的位置,加快访问速度。 异步:将同步的操作异步化。客户端发出请求,不等待服务端响应,等服务端处理完毕后,使用通知或轮询的方式告知请求方。一般指:请求——响应——通知 模式。 冗余

服务器负载均衡

≯℡__Kan透↙ 提交于 2020-03-23 08:58:32
当一个Web系统从日访问量10W增长到1000W,甚至超过1亿的过程中,Web服务器承受的压力就会越来越大,为了解决性能压力带来的问题,我们需要在Web系统架构方面搭建多个层次的缓存机制. 1.web负载均衡   简单的说就是给我们的服务器集群分配工作,而采用恰当的分配方式,对于保护处于后端的web服务器来说,非常重要。   用户--》负载均衡--》后端服务器集群。 负载均衡的策略很多,我们从原理上开始说!   (1)HTTP重定向       当用户发来请求的时候,web服务器通过修改响应头的Location来返回一个新的URL,然后浏览器继续请求这个新的URL,实际上就是页面重定向,通过重定向来达到负载均衡的目的。重定向非常容易实现,但是在大规模的访问量下,性能不佳,而且用户体验也不是很好,   (2)反向代理       反向代理服务的核心是转发http请求,因为它工作在http层(应用层),也就是OSI模型的第7层,因此也叫‘7层负载均衡',常见的是nginx.       nginx是一种非常灵活的反向代理的软件,可以自由的定制转发的策略,分配服务器流量权重,反向代理中,常见的一个问题就是web服务器存贮session数据,负载均衡一般是随机分配的,无法保证同一用户下次一定分配到相同的机器上,导致session无法找到!       解决方案:1

品尝阿里云容器服务:负载均衡与容器的关系

社会主义新天地 提交于 2020-03-23 06:21:13
最近我们开始尝试基于阿里云容器服务使用Docer进行生产环境的自动化部署,首先遇到的一个问题是 —— 如何部署负载均衡(这里的负载均衡是指阿里云负载均衡SLB)?面对这个问题,我们首先关注的是这个问题 —— 阿里云负载均衡与容器究竟是什么关系? 在阿里云容器服务中创建集群时(这个使用容器服务的第一步操作),默认会自动创建负载均衡。 这个负载均衡依然是我们熟知的那个负载均衡,后端服务器依然是云服务器(ECS)。 最大的不同之处是监听的配置是基于TCP的4层负载均衡。 从这个监听配置可以得知,在使用阿里云容器服务时,负载均衡与容器没有直接的关系,它们感知不到容器的存在,只是作为4层负载均衡(也支持7层负载均衡,详见 这里 ),负责将请求通过TCP转发到后端ECS的9080端口上,只不过这些ECS是容器服务集群中的节点(容器主机)。 这时我们有产生了另外一个疑问 —— 容器主机的9080端口与容器内应用监听的端口之间又是什么关系呢? 从阿里云容器服务的帮助文档- 简单路由(支持 HTTP/HTTPS) 中得知,在容器主机内运行着一个专门提供路由服务(acsrouting)的容器。 在容器服务控制台的“应用列表”中可以看到这个acsrouting应用: 点击上图中的应用名称"acsrouting",会显示这个应用中的服务acsrouting_routing: 从上图中的端口映射中可以知道

第14 章 : Kubernetes Service讲解

只谈情不闲聊 提交于 2020-03-23 04:18:58
Kubernetes Service 本文将主要分享以下四方面的内容: 为什么需要 K8s service; K8s service 用例解读; K8s service 操作演示; K8s service 架构设计。 需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机器的 IP 地址。但是在 K8s 集群里面应用是通过 pod 去部署的, 而 pod 生命周期是短暂的。在 pod 的生命周期过程中,比如它创建或销毁,它的 IP 地址都会发生变化,这样就不能使用传统的部署方式,不能指定 IP 去访问指定的应用。 另外在 K8s 的应用部署里,之前虽然学习了 deployment 的应用部署模式,但还是需要创建一个 pod 组,然后这些 pod 组需要提供一个统一的访问入口,以及怎么去控制流量负载均衡到这个组里面。比如说测试环境、预发环境和线上环境,其实在部署的过程中需要保持同样的一个部署模板以及访问方式。因为这样就可以用同一套应用的模板在不同的环境中直接发布。 Service:Kubernetes 中的服务返现与负载均衡 最后应用服务需要暴露到外部去访问,需要提供给外部的用户去调用的。我们上节了解到 pod 的网络跟机器不是同一个段的网络,那怎么让 pod

docker 部署一个简单的nginx负载均衡

旧时模样 提交于 2020-03-22 22:30:30
1. 系统环境: 底层系统:CentOS Linux release 8.1.1911 (Core 负载均衡:192.168.0.115: 9117 web1: 192.168.0.115:9113 web2: 192.168.0.115:9111 注意:关闭selinux, 防火墙 2. docker环境部署 2.1 安装docker-ce dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo dnf -y install docker-ce 2.2 安装nginx docker run --name nginxlb -p 9117:80 -d nginx docker run --name nginx01 -p 9113:80 -d nginx docker run --name nginx02 -p 9111:80 -d nginx 3. 配置nginx负载均衡 3.1 配置负载均衡容器, 在/etc/nginx/nginx.conf的http中插入以下内容 upstream test01 { server 192.168.0.115:9111 weight=2; server 192.168.0.115:9113 weight=7; } server {

大流量网站的底层系统架构

你离开我真会死。 提交于 2020-03-21 19:55:49
from:http://chenge.diandian.com/post/2011-10-30/6366412 动态应用,是相对于网站静态内容而言, 是指以c/c++、php、Java、perl、.net等 服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通 常与数据库系统、缓存系统、分布式存储系统等密不可分。 大型动态应用系统平台主要是针对于大流 量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平稳运行。 大型动态应用系统又可分为几个子系统: l Web前 端系统 l 负 载均衡系统 l 数 据库集群系统 l 缓 存系统 l 分 布式存储系统 l 分 布式服务器管理系统 l 代 码分发系统 Web前端系统 结构图: 为了达到不同应用的服务器共享、避免单点故障、集中管理、统一配置等目的,不以应用划分服 务器,而是将所有服务器做统一使用,每台服务器都可以对多个应用提供服务,当某些应用访问量升高时,通过增加服务器节点达到整个服务器集群的性能提高,同 时使他应用也会受益。该Web前端系统基于Apache/Lighttpd/Nginx等 的虚拟主机平台,提供PHP程序运行环境。服务器对开发人员是透明的,不需要开发人员介入服务器管理 负载均衡系统 负载均衡系统分为硬件和软件两种

大流量网站的底层系统架构分析

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

大流量网站的底层系统架构

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