负载均衡

大型分布式电商系统架构演进史?

妖精的绣舞 提交于 2020-02-09 15:26:11
文章目录 概述 作者简介 一、大型分布式网站架构技术 1、大型网站的特点 2、大型网站架构目标 3、大型网站架构模式 4、高性能架构 5、高可用架构 6、可伸缩架构 7、可扩展架构 8、安全架构 9、敏捷性 10、大型架构举例 二、大型电商网站系统架构演变过程 1、最开始的网站架构 2、应用、数据、文件分离 3、利用缓存改善网站性能 4、使用集群改善应用服务器性能 5、数据库读写分离和分库分表 6、使用CDN和反向代理提高网站性能 7、使用分布式文件系统 8、使用NoSQL和搜索引擎 9、将应用服务器进行业务拆分 10、搭建分布式服务 三、一张图说明电商架构 四、大型电商网站架构案例 概述 本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。 作者简介 烂皮猪,十余年工作经验,曾在Google等外企工作过几年,精通Java、分布式架构,微服务架构以及数据库,最近正在研究大数据以及区块链,希望能够突破到更高的境界 一、大型分布式网站架构技术 1、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 2

使用Zookeeper实现负载均衡轮询例子

≯℡__Kan透↙ 提交于 2020-02-09 13:37:30
1.原理 ​ 使用Zookeeper实现负载均衡原理,服务器端将启动的服务注册到,zk注册中心上,采用临时节点。客户端从zk节点上获取最新服务节点信息,本地使用负载均衡算法,随机分配服务器。 2.实例代码相关 Maven依赖: <dependencies> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.8</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> </dependency> </dependencies> ZkServerScoekt: public class ZkServerScoekt implements Runnable { private static int port = 18081; public static void main(String[] args) throws IOException { ZkServerScoekt server = new ZkServerScoekt(port);

Nginx实现高可用

别等时光非礼了梦想. 提交于 2020-02-08 18:31:45
什么是 nginx? nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 由俄罗斯的程序设计师 Igor Sysoev 所开发,官方测试 nginx 能够支支撑 5 万并发链接,并 且 cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用 nginx。 nginx 应用场景 1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。 2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。 3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请 求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负 载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。 如何运行Nginx 解压nginx安装包后启动nginx.exe 在网页中输入localhost后出现如下页面代表启动nginx成功 nginx 优缺点 占内存小,可以实现高并发连接、处理响应快。 可以实现 http 服务器、虚拟主机、反向代理、负载均衡。 nginx 配置简单 可以不暴露真实服务器 IP 地址 nginx 实现反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet

Nginx负载均衡

血红的双手。 提交于 2020-02-08 15:13:36
一、什么是负载均衡   负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服 务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡,英文名称为 Load Balance,其意思就是分摊到多个操作单元上进行执行, 例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完 成工作任务。 二、负载均衡策略 1、 轮询(默认)   每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。 2、指定权重   指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 3、IP 绑定 ip_hash   每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务 器,可以解决 session 的问题。 4、fair(第三方)   按后端服务器的响应时间来分配请求,响应时间短的优先分配。 5、url_hash(第三方)   按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器, 后端服务器为缓存时比较有效。 三、轮询(默认) 1、模拟集群    设置两个Tomcat同时访问一个servlet    import javax.servlet.ServletException; import javax

Nginx简介和反向代理

拈花ヽ惹草 提交于 2020-02-08 14:04:34
一、什么是 nginx?   nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师 Igor Sysoev 所开发,官方测试 nginx 能够支支撑 5 万并发链接,并 且 cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用 nginx。 二、nginx 应用场景   1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。   2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。   3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请 求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负 载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。    三、Windows 环境下安装 Nginx   1、首先下载Nginx: http://nginx.org/   2、解压:nginx-windows       3、双击: nginx.exe   4、访问localhost      四、反向代理服务器    Nginx、lvs、F5(硬件)、haproxy     ①lvs     LVS是Linux Virtual Server的简写

K8s完整多节点部署

我是研究僧i 提交于 2020-02-08 03:46:19
K8s多节点部署---->使用Nginx服务实现负载均衡---->UI界面展示 特别注意:此实验开始前必须要先部署单节master的k8s群集 可以见本人上一篇博客:https://blog.csdn.net/JarryZho/article/details/104193913 环境部署: 相关软件包及文档: 链接:https://pan.baidu.com/s/1l4vVCkZ03la-VpIFXSz1dA 提取码:rg99 使用Nginx做负载均衡: lb1:192.168.195.147/24 mini-2 lb2:192.168.195.133/24 mini-3 Master节点: master1:192.168.18.128/24 CentOS 7-3 master2:192.168.18.132/24 mini-1 Node节点: node1:192.168.18.148/24 CentOS 7-4 node2:192.168.18.145/24 CentOS 7-5 VRRP漂移地址:192.168.18.100 多master群集架构图: ------master2部署------ 第一步:优先关闭master2的防火墙服务 [ root@master2 ~ ] # systemctl stop firewalld.service [ root@master2 ~

一、spring cloud alibaba学习(nacos,ribbon)

北城余情 提交于 2020-02-08 02:11:41
对比 Nacos 服务发现组建,也是配置服务器 用来解决服务a如何找到服务b、并且管理微服务 下载应用程序,并打开,以启动Nacos Server 加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>${latest.version}</version> </dependency> 没有注解。 写配置,制定Nacos Server的地址、服务名称 spring: cloud: nacos: discovery: #指定nacos server的地址 server-addr: localhost:8848 application: #服务名称尽量用-,不要用_及特殊字符 name: user-center 领域模型 namespace:主要用于隔离,例如隔离开发环境,生产环境,测试环境等。不能跨namespace调用实例。 group:把不同的微服务放到一个分组里,方便管理。(alibaba0.9.0中没有用到) service:微服务 cluster:集群,对指定微服务的虚拟划分 instance:微服务实例 namespace和cluster:

Nginx中的反向代理和负载均衡

本秂侑毒 提交于 2020-02-07 19:21:22
1.nginx是什么? nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用nginx。 2.使用 nginx 实现反向代理 2.1什么是反向代理 反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。 2.2反向代理的使用 模拟用户在客户端浏览器输入www.tomcat.com发送http请求,通过反向代理访问到linxu中的tomcat服务器中端口为8080的服务 2.2.1:第一步:修改hosts 修改本机window上的hosts文件

LVS 负载均衡 ------ DR模式 + Keepalived

北战南征 提交于 2020-02-07 11:47:23
文章目录 一、keepalived (1)keepalived是什么 (2)keepalived工作原理 二、配置步骤: 第一步:配置两台 DR 第二步:配置第一台节点服务器 web1 第三步:配置第二台节点服务器 web2 第四步:客户端测试 第五步:部署 keepalived 第六步:实验结果验证 一、keepalived : (1)keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。 1、keepalived的三个核心模块: core核心模块 chech健康监测 vrrp虚拟路由冗余协议 2、Keepalived服务的三个重要功能: 管理LVS 对LVS集群节点检查 作为系统网络服务的高可用功能 (2)keepalived工作原理 1、keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 2、虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播

LVS 负载均衡 ------ DR模式 + Keepalived

筅森魡賤 提交于 2020-02-07 11:33:38
文章目录 一、keepalived (1)keepalived是什么 (2)keepalived工作原理 二、配置步骤: 第一步:配置两台 DR 第二步:配置第一台节点服务器 web1 第三步:配置第二台节点服务器 web2 第四步:客户端测试 第五步:部署 keepalived 第六步:实验结果验证 一、keepalived : (1)keepalived是什么 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。 1、keepalived的三个核心模块: core核心模块 chech健康监测 vrrp虚拟路由冗余协议 2、Keepalived服务的三个重要功能: 管理LVS 对LVS集群节点检查 作为系统网络服务的高可用功能 (2)keepalived工作原理 1、keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。 2、虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播