负载均衡

微服务实践:服务治理

戏子无情 提交于 2019-11-29 05:46:27
微服务实践:服务治理 注册发现   在微服务系统中,服务的消费者需要知道服务提供者的网络地址,才能与之通信。比较简单的实现方式是直接在消费者端或者负载均衡器上进行注册,在发生变化时手动更新。随着服务数量的增多,这种方式会面领如下挑战: 手动注册实例地址的成本高 无法识别服务重启后的网络地址的变化 服务注册发现的核心机制    服务发现的方式   当服务发现的逻辑位于未付消费者端时,称为客户端发现。 负载均衡 什么是负载均衡 服务端负载均衡 客户端负载均衡 负载均衡策略 来源: https://www.cnblogs.com/MrSaver/p/11457085.html

浅谈web应用的负载均衡、集群、高可用(HA)解决方案

那年仲夏 提交于 2019-11-29 05:02:34
1、熟悉几个组件 1.1、apache —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(SSL)等等,目前互联网主要使用它做静态资源服务器,也可以做代理服务器转发请求(如:图片链等),结合tomcat等servlet容器处理jsp。 1.2、ngnix —— 俄罗斯人开发的一个高性能的 HTTP和反向代理服务器。由于Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻、腾讯网、搜狐博客等门户网站频道等,在3w以上的高并发环境下,ngnix处理能力相当于apache的10倍。 参kao:apache和tomcat的性能分析和对比(http://blog.s135.com/nginx_php_v6/) 1.3、lvs —— Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。由毕业于国防科技大学的章文嵩博士于1998nian5月创立,可以实现LINUX平台下的简单负载均衡。了解更多,访问官网:http://zh.linuxvirtualserver.org/。 1.4、HAProxy —— HAProxy提供 高可用性 、

Nginx+Tomcat高性能负载均衡集群搭建

谁说胖子不能爱 提交于 2019-11-29 05:00:32
转载请注明出处: http://www.cnblogs.com/Joanna-Yan/p/8745794.html Nginx是一个高性能的HTTP服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其占有内存少,并发能力强,在同类型的网页服务器中表现较好。Nginx可以在大多数Unix Linux OS上编译运行,并有Windows移植版。一般情况下,对于新建站点,建议使用最新稳定版作为生产版本。 单个Tomcat最大支持在线访问是500左右,要通知支持更多的访问量一个Tomcat就没法做到了。在这里我们采用集群部署方式,使用多个Tomcat,反向代理使用Nginx。 架构如下: 准备工作 apache-tomcat-7.0.61 nginx-1.12.2 Redis-x64-3.2.100 为简化示例,这里只讲Nginx+Tomcat的部署与集成。 Nginx安装 (1)去官网下载Windows的最新稳定版Nigx(我用的1.12.2版本)。 官网 (2)解压到磁盘任意目录。这里我解压在 F:\nginx-1.12.2 (3) 启动服务: start nginx.exe   停止服务:nginx -s stop   重新加载配置:nginx -s reload 修改nginx.conf 1.进程数与每个进程的最大连接数 nginx进程数

nginx有哪些作用

▼魔方 西西 提交于 2019-11-29 04:12:26
Nginx应该是现在最火的web和反向代理服务器,没有之一。她是一款诞生于俄罗斯的高性能web服务器,尤其在高并发情况下,相较Apache,有优异的表现。 那除了负载均衡,她还有什么其他的用途呢,下面我们来看下。 一、静态代理 Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源的放到nginx上,可以使应用动静分离,性能更好。 二、负载均衡 Nginx通过反向代理可以实现服务的负载均衡,避免了服务器单节点故障,把请求按照一定的策略转发到不同的服务器上,达到负载的效果。 常用的负载均衡策略有: 1、轮询 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。 2、加权轮询 不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。 给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。 3、ip_hash(源地址哈希法) 根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客户端要访问服务器的序号。 采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时

微服务核心架构

旧城冷巷雨未停 提交于 2019-11-29 03:18:52
定义: 微服务是一种架构风格、由马丁在其博文中首次提出; 特点: 1. 一组小的服务 2.独立的进程 3.轻量级级通信协议(即http) 4.基于业务能力 5. 独立部署 6.无集中式管理 挑战: 1. 分布式复杂性 2. 数据一致性 3.运维复杂性 4. 测试复杂性 康威法则: 公司的组织架构应与开发系统的架构保持一致,这样能提升研发效率; 引入微服务的适用性: 当系统越来越复杂时,如果采用单系统可以会带来生产力的降低,这样可以考虑引入微服务,根据实践在一个百人团队中可以采用微服务架构;对于新系统不建议一上来就使用微服务架构,里面涉及到基础设施的投入、服务的拆分等; 组织引入微服务: 在微服务架构时组件跨职能部门的微服务团队,以平台方式交付; 阿里的微服务中台战略: 包括技术中台(IaaS、PaaS)、业务中台(微服务能力)、业务前台; 服务分层: 行业内还没有统一标准,有的分三到四层,有的没有分层;一种比较简单明细的分层方式为:可以分为两层,第一层是基础服务层(核心领域服务、公共服务、中间层服务)、聚合服务(适配服务、边界服务) 技术架构: 基础设施、平台服务、支撑服务、业务服务层(微服务)、网关层、接入层; 服务发现机制: 1.传统负载均衡,这种方式缺点是负载均衡是单点,有性能开销;2. 将负载均衡以进程方式集成到消费者内部,不存在负载均衡单点

LVS介绍及相关配置

…衆ロ難τιáo~ 提交于 2019-11-29 03:13:38
一. LVS概述 LVS是一种工作在四层协议上的负载均衡解决方案,在1998年5月由章文嵩博士创建。目前广泛使用的负载均衡模型主要有: 1)工作在四层协议(LVS):主要用于四层协议上的负载均衡,性能相较于工作在七层的协议更好。但是协议栈是工作在传输层,对于传输层以上的高级特性支持不足。 2)工作在七层协议(Nginx、HAproxy):主要解决七层协议上的负载均衡(Nginx也可以工作在四层,需要在编译的时候添加--with-streams参数),更加适合于HTTP服务、邮件服务等高层协议的服务。相较于四层协议负载均衡,牺牲了少量的性能,提供了更有针对性的服务。 二. LVS工作模式 2.1.两段式工作原理: LVS工作原理和iptables的工作原理相似,他们都具有一个位于内核空间的框架(Netfilter、ipvs)+用户空间的管理工具(iptables、ipvsadm)。用户空间的管理工具提供了我们操作规则的入口,我们通过配置相关的规则到内核空间的框架中,使之生效来实现相对应的功能。 LVS模型涉及到的设备主要可以分成两类:一类是Director调度器(用来接收客户端的请求,并通过IPVS规则及算法转发到后端真正提供服务的设备),另一类是RealServer(即后端真正提供服务的设备)。LVS安装在Director调度器上

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

爷,独闯天下 提交于 2019-11-29 02:19:54
概述 本文是学习大型分布式网站架构的技术总结。对架构一个高性能、高可用、可伸缩及可扩展的分布式网站进行了概要性描述,并给出一个架构参考。文中一部分为读书笔记,一部分是个人经验总结,对大型分布式网站架构有较好的参考价值。 作者简介 烂皮猪,十余年工作经验,曾在Google等外企工作过几年,精通Java、分布式架构,微服务架构以及数据库,最近正在研究大数据以及区块链,希望能够突破到更高的境界 一、大型分布式网站架构技术 1、大型网站的特点 用户多,分布广泛 大流量,高并发 海量数据,服务高可用 安全环境恶劣,易受网络攻击 功能多,变更快,频繁发布 从小到大,渐进发展 以用户为中心 免费服务,付费体验 2、大型网站架构目标 高性能:提供快速的访问体验。 高可用:网站服务一直可以正常访问。 可伸缩:通过硬件增加/减少,提高/降低处理能力。 安全性:提供网站安全访问和数据加密、安全存储等策略。 扩展性:方便地通过新增/移除方式,增加/减少新的功能/模块。 敏捷性:随需应变,快速响应; 3、大型网站架构模式 分层:一般可分为应用层、服务层、数据层、管理层与分析层; 分割:一般按照业务/模块/功能特点进行划分,比如应用层分为首页、用户中心。 分布式:将应用分开部署(比如多台物理机),通过远程调用协同工作。 集群:一个应用/模块/功能部署多份(如:多台物理机),通过负载均衡共同提供对外访问。 缓存

LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

吃可爱长大的小学妹 提交于 2019-11-29 02:16:43
LVS负载均衡(LVS简介、三种工作模式、十种调度算法) 2018年06月02日 00:54:51 chenhuyang 阅读数 51895 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_40470303/article/details/80541639 一、LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器,得到的服务内容都是一样的,整个集群对用户而言都是透明的。最后根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户,LVS工作模式分为NAT模式、TUN模式

nginx的负载均衡

不打扰是莪最后的温柔 提交于 2019-11-29 01:47:06
nginx中的负载均衡,也是一种反向代理 负载:客户端向服务器发送请求,对于服务器来说就是负载; 均衡:把客户端发送的请求分配到多台服务器上称之为均衡;   均衡不一定是平均分配,若服务器性能不均,则会根据某种规则去进行分配 负载均衡 :把客户端发送的请求按照某种规则分配到多台服务器上称之为负载均衡。 实现负载均衡的配置:   只需要修改反向代理的配置即可。准备的服务器有 :nginx代理服务器、web01服务器、web02服务器,并装好Tomcat。   所有的配置均在nginx的快捷方式下完成,即/usr/locl/nginx-1.17.3中完成   主要在修改反向代理的upstream配置     反向代理的配置:     upstream tomcat_server{       server 192.168.23.151:8080;     }     负载均衡的配置:     upstream tomcat_server{       server 192.168.23.151:8080;       server 192.168.23.152:8080;     }   重启nginx服务器:     进入/usr/locl/nginx-1.17.3/sbin目录     ./nginx -s reload     若是报错:     nginx: [error]

缓存技术3之负载均衡缓存

南笙酒味 提交于 2019-11-29 00:48:30
说完客户端(HTTP)缓存和 CDN 缓存,我们离应用服务越来越近了,在到达应用服务之前,请求还要经过负载均衡器。 虽说它的主要工作是对应用服务器进行负载均衡,但是它也可以作缓存。可以把一些修改频率不高的数据缓存在这里,例如:用户信息,配置信息。通过服务定期刷新这个缓存就行了。 负载均衡缓存工作简图 以 Nginx 为例,我们看看它是如何工作的: 用户请求在达到应用服务器之前,会先访问 Nginx 负载均衡器,如果发现有缓存信息,直接返回给用户。 如果没有发现缓存信息,Nginx 回源到应用服务器获取信息。 另外,有一个缓存更新服务,定期把应用服务器中相对稳定的信息更新到 Nginx 本地缓存中。 注:本文摘自51CTO技术栈 来源: https://www.cnblogs.com/Haihong72H/p/11437271.html