在当今互联网高速发展的时代,负载均衡已经成为保障网站和服务稳定运行的关键技术,负载均衡通过合理分配服务器资源,确保用户请求能够高效、稳定地得到响应,负载均衡需要多少服务器呢?以下将从多个角度进行分析。
负载均衡的基本原理
负载均衡(Load Balancing)是一种将请求分发到多个服务器上的技术,目的是为了提高系统的可用性和响应速度,负载均衡器作为分发请求的核心组件,根据预设的算法,将用户请求分配到不同的服务器上,从而实现资源的合理利用。
影响负载均衡服务器数量的因素
服务器性能
服务器性能是影响负载均衡服务器数量的关键因素,高性能的服务器可以承担更多的请求,降低系统压力,服务器性能越高,所需的负载均衡服务器数量就越少。
用户访问量
用户访问量是衡量负载均衡服务器数量的重要指标,高访问量的系统需要更多的服务器来分担压力,保证用户体验,以下是一些常见的用户访问量级别:
(1)低访问量:每日访问量在1万以下;(2)中访问量:每日访问量在1万至10万之间;(3)高访问量:每日访问量在10万至100万之间;(4)超高访问量:每日访问量在100万以上。
业务需求
不同业务对负载均衡服务器的需求不同,视频直播、在线教育等对实时性要求较高的业务,需要更多的服务器来保证流畅的体验;而一些静态网站或轻量级应用,服务器数量可以相对较少。
资源成本
服务器资源成本也是影响负载均衡服务器数量的因素之一,在满足业务需求的前提下,合理配置服务器数量,既能保证系统稳定运行,又能降低成本。
负载均衡服务器数量的确定方法
根据服务器性能确定
根据服务器性能,计算出单个服务器可以承担的最大请求量,再根据用户访问量,确定所需的服务器数量。
根据用户访问量确定
根据用户访问量,结合服务器性能,确定所需的服务器数量,以下是一个简单的计算公式:
所需服务器数量 = 用户访问量 / 单个服务器最大请求量
结合业务需求确定
根据业务需求,综合考虑服务器性能、用户访问量等因素,确定所需的服务器数量。
负载均衡需要多少服务器并没有一个固定的答案,需要根据实际情况进行综合考虑,在配置负载均衡服务器时,应充分了解业务需求、用户访问量、服务器性能等因素,确保系统稳定、高效地运行,也要关注成本控制,实现资源的最优配置。
.net最常用的架构有哪些?
最长用的还是三层架构。 1. UI Tier(User Interface, 用户接口层)表示层完成向用户展示界面,提供进一步操作的“驱动接口”,例如按钮,并显示结果。 2. Business Tier(商业层)完成数据加工,提供加工后的数据给表示层,或者数据层。 又可以分为 BLL(Business Logic Layer, 商业逻辑)和DAL(Data Access Layer, 数据访问)。 DAL负责存取数据,BLL负责对DAL层操作,对数据进行运算和操作。 BLL也负责响应表示层的事件。 3. Data Tier(数据层)完成数据存储功能。 可能是数据库、数据源、XML、文本文件等。 这样就把 数据、业务、显示 分开了。 UI层只负责显示给用户看,至于数据怎么处理运算,由BLL进行并响应,处理完的数据,怎么存取由DAL层进行,数据怎么存在介质上由Data层完成,DAL就不用管。 各层之间相对比较独立,物理依赖性就不那么高了,有时候就只需要编译改动过的层。 一般对开发和设计人员来说,只需要对UI, BLL, DAL 进行设计开发,DATA Tier由OS或者DBMS来进行,你只需要按“格式”来存取数据即可。 “三层结构的程序不是说把项目分成DAL, BLL, WebUI三个模块就叫三层了, 下面几个问题在你的项目里面:1. UILayer里面只有少量(或者没有)的SQL语句或者存储过程调用, 并且这些语句保证不会修改数据?2. 如果把UILayer拿掉, 你的项目还能在Interface/API的层次上提供所有功能吗?3. 你的DAL可以移植到其他类似环境的项目吗?4. 三个模块, 可以分别运行于不同的服务器吗?如果不是所有答案都为YES, 那么你的项目还不能算是严格意义上的三层程序. 三层程序有一些需要约定遵守的规则:1. 最关键的, UI层只能作为一个外壳, 不能包含任何BizLogic的处理过程2. 设计时应该从BLL出发, 而不是UI出发. BLL层在API上应该实现所有BizLogic, 以面向对象的方式3. 不管数据层是一个简单的SqlHelper也好, 还是带有Mapping过的Classes也好, 应该在一定的抽象程度上做到系统无关4. 不管使用COM+(Enterprise Service), 还是Remoting, 还是WebService之类的远程对象技术, 不管部署的时候是不是真的分别部署到不同的服务器上, 最起码在设计的时候要做这样的考虑, 更远的, 还得考虑多台服务器通过负载均衡作集群所以考虑一个项目是不是应该应用三层/多层设计时, 先得考虑下是不是真的需要? 实际上大部分程序就开个WebApplication就足够了, 完全没必要作的这么复杂. 而多层结构, 是用于解决真正复杂的项目需求的.”而且三层之间有时候也不用那么严格,得根据实际业务逻辑来判断使用。 这也是软件开发所以没有一个固定流程的原因。 还有个俺收藏得UI层:浏览器 —— 要考虑一下不同的浏览器、和插件若干js脚本 —— ajax这一类的,数据验证了什么的。 显示数据 —— 放在 页面提供数据 —— 放在 页面逻辑层:业务逻辑 —— 承上启下,但是大多数情况只用一行代码就可以实现了。 数据逻辑 —— 组合SQL语句,存储过程的话就是给参数赋值了数据层:SQLHelp —— 具有类似功能的东东数据库里的存储过程 —— 不用存储过程的话就略掉数据库里的视图 —— 同上,我比较喜欢用数据库里的表 —— 基础的东东了,对于客户来说,里面的数据是最最重要的了。
什么是包交换技术?
是这个吗?---------------分组交换技术分组交换也称包交换,它是将用户传送的数据划分成一定的长度,每个部分叫做一个分组。 在每个分组的前面加上一个分组头,用以指明该分组发往何地址,然后由交换机根据每个分组的地址标志,将他们转发至目的地,这一过程称为分组交换。 进行分组交换的通信网称为分组交换网。 从交换技术的发展历史看,数据交换经历了电路交换、报文交换、分组交换和综合业务数字交换的发展过程。 分组交换实质上是在“存储—转发”基础上发展起来的。 它兼有电路交换和报文交换的优点。 分组交换在线路上采用动态复用技术传送按一定长度分割为许多小段的数据—分组。 每个分组标识后,在一条物理线路上采用动态复用的技术,同时传送多个数据分组。 把来自用户发端的数据暂存在交换机的存储器内,接着在网内转发。 到达接收端,再去掉分组头将各数据字段按顺序重新装配成完整的报文。 分组交换比电路交换的电路利用率高,比报文交换的传输时延小,交互性好。 -----------------------交换技术网络技术发展迅猛,以太网占据了统治地位。 为了适应网络应用深化带来的挑战,网络的规模和速度都在急剧发展,局域网的速度已从最初的10Mbit/s提高到100Mbit/s,千兆以太网技术也已得到了普遍应用。 对于用户来说,在减低成本的前提下,保证网络的高可靠性、高性能、易维护、易扩展,与采用何种组网技术密切相关;对于设备厂商来说,在保证用户网络功能实现的基础上,如何能够取得更为可观的利润,采用组网技术的优劣,成为提高利润的一个手段。 在具体的组网过程中,是使用已经日趋成熟的传统的第2层交换技术,还是使用具有路由功能的第3层交换技术,或者是使用具有高网络服务水平的第7层交换技术呢?在这些技术选择的权衡中,2层交换、3层交换和7层交换这三种技术究竟孰优孰劣,它们各自又适用于什么样的环境呢?传统的第2层交换技术2层交换技术可以识别数据帧中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口,记录在自己内部的一个MAC地址表中。 谈到交换,从广义上讲,任何数据的转发都可以叫做交换。 但是,传统的、狭义的第2层交换技术,仅包括数据链路层的转发。 目前,第2层交换技术已经成熟。 从硬件上看,第2层交换机的接口模块都是通过高速背板/总线(速率可高达几十Gbps)交换数据的,2层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。 2层交换机主要用在小型局域网中,机器数量在二、三十台以下,这样的网络环境下,广播包影响不大,2层交换机的快速交换功能、多个接入端口和低廉价格,为小型网络用户提供了完善的解决方案。 总之,交换式局域网技术使专用的带宽为用户所独享,极大地提高了局域网传输的效率。 可以说,在网络系统集成的技术中,直接面向用户的第2层交换技术,已得到了令人满意的答案。 具有路由功能的第3层交换技术第3层交换技术是1997年前后才开始出现的一种交换技术,最初是为了解决广播域的问题。 经过多年发展,第3层交换技术已经成为构建多业务融合网络的主要力量。 在大规模局域网中,为了减小广播风暴的危害,必须把大型局域网按功能或地域等因素划分成多个小局域网,这样必然导致不同子网间的大量互访,而单纯使用第2层交换技术,却无法实现子网间的互访。 为了从技术上解决这个问题,网络厂商利用第3层交换技术开发了3层交换机,也叫做路由交换机,它是传统交换机与路由器的智能结合。 简单地说,可以处理网络第3层数据转发的交换技术就是第3层交换技术。 从硬件上看,在第3层交换机中,与路由器有关的第3层路由硬件模块,也插接在高速背板/总线上。 这种方式使得路由模块可以与需要路由的其它模块间,高速交换数据,从而突破了传统的外接路由器接口速率的限制。 3层交换机是为IP设计的,接口类型简单,拥有很强的3层包处理能力,价格又比相同速率的路由器低得多,非常适用于大规模局域网络。 第3层交换技术到今天已经相当成熟,同时,3层交换机也从来没有停止过发展。 第3层交换技术及3层交换设备的发展,必将在更深层次上推动整个社会的信息化变革,并在整个网络中获得越来越重要的地位。 具有网络服务功能的第7层交换技术第7层交换技术通过逐层解开每一个数据包的每层封装,并识别出应用层的信息,以实现对内容的识别。 充分利用带宽资源,对互联网上的应用、内容进行管理,日益成为服务提供商关注的焦点。 如何解决传输层到应用层的问题,专门针对传输层到应用层进行管理的网络技术变得非常重要,这就是目前第7层交换技术发展的最根本原因。 简单地说,可以处理网络应用层数据转发的交换技术就是第7层交换技术。 其主要目的是在带宽应用的情况下,网络层以下不再是问题的关键,取而代之的是提高网络服务水平,完成互联网向智能化的转变。 第7层交换技术通过应用层交换机实现了所有高层网络的功能,使网络管理者能够以更低的成本,更好地分配网络资源。 从硬件上看,7层交换机将所有功能集中在一个专用的特殊应用集成电路或ASIC上。 ASIC比传统路由器的CPU便宜,而且通常分布在网络端口上,在单一设备中包括了50个ASIC,可以支持数以百计的接口。 新的ASIC允许智能交换机/路由器在所有的端口上以极快的速度转发数据,第7层交换技术可以有效地实现数据流优化和智能负载均衡。 在Internet网、Intranet网和Extranet网,7层交换机都大有施展抱负的用武之地。 比如企业到消费者的电子商务、联机客户支持,人事规划与建设、市场销售自动化,客户服务,防火墙负载均衡,内容过滤和带宽管理等。 交换技术正朝着智能化的方向演进,从最初的第2层交换发展到第3层交换,目前已经演进到网络的第7层应用层的交换。 其根本目的就是在降低成本的前提下,保证网络的高可靠性、高性能、易维护、易扩展,最终达到网络的智能化管理。
服务器被ddos攻击?要怎么办
DoS(Denial of Service)是一种利用合理的服务请求占用过多的服务资源,从而使合法用户无法得到服务响应的网络攻击行为。 被DoS攻击时的现象大致有:* 被攻击主机上有大量等待的TCP连接;* 被攻击主机的系统资源被大量占用,造成系统停顿;* 网络中充斥着大量的无用的数据包,源地址为假地址;* 高流量无用数据使得网络拥塞,受害主机无法正常与外界通讯;* 利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求,使受害主机无法及时处理所有正常请求;* 严重时会造成系统死机。 到目前为止,防范DoS特别是DDoS攻击仍比较困难,但仍然可以采取一些措施以降低其产生的危害。 对于中小型网站来说,可以从以下几个方面进行防范:主机设置:即加固操作系统,对各种操作系统参数进行设置以加强系统的稳固性。 重新编译或设置Linux以及各种BSD系统、Solaris和Windows等操作系统内核中的某些参数,可在一定程度上提高系统的抗攻击能力。 例如,对于DoS攻击的典型种类—SYN Flood,它利用TCP/IP协议漏洞发送大量伪造的TCP连接请求,以造成网络无法连接用户服务或使操作系统瘫痪。 该攻击过程涉及到系统的一些参数:可等待的数据包的链接数和超时等待数据包的时间长度。 因此,可进行如下设置:* 关闭不必要的服务;* 将数据包的连接数从缺省值128或512修改为2048或更大,以加长每次处理数据包队列的长度,以缓解和消化更多数据包的连接;* 将连接超时时间设置得较短,以保证正常数据包的连接,屏蔽非法攻击包;* 及时更新系统、安装补丁。 防火墙设置:仍以SYN Flood为例,可在防火墙上进行如下设置:* 禁止对主机非开放服务的访问;* 限制同时打开的数据包最大连接数;* 限制特定IP地址的访问;* 启用防火墙的防DDoS的属性;* 严格限制对外开放的服务器的向外访问,以防止自己的服务器被当做工具攻击他人。 此外,还可以采取如下方法:* Random Drop算法。 当流量达到一定的阀值时,按照算法规则丢弃后续报文,以保持主机的处理能力。 其不足是会误丢正常的数据包,特别是在大流量数据包的攻击下,正常数据包犹如九牛一毛,容易随非法数据包被拒之网外;* SYN cookie算法,采用6次握手技术以降低受攻击率。 其不足是依据列表查询,当数据流量增大时,列表急剧膨胀,计算量随之提升,容易造成响应延迟乃至系统瘫痪。 由于DoS攻击种类较多,而防火墙只能抵挡有限的几种。 路由器设置:以Cisco路由器为例,可采取如下方法:* Cisco Express Forwarding(CEF);* 使用Unicast reverse-path;* 访问控制列表(ACL)过滤;* 设置数据包流量速率;* 升级版本过低的IOS;* 为路由器建立log server。 其中,使用CEF和Unicast设置时要特别注意,使用不当会造成路由器工作效率严重下降。 升级IOS也应谨慎。 路由器是网络的核心设备,需要慎重设置,最好修改后,先不保存,以观成效。 Cisco路由器有两种配置,startup config和running config,修改的时候改变的是running config,可以让这个配置先运行一段时间,认为可行后再保存配置到startup config;如果不满意想恢复到原来的配置,用copy start run即可。 不论防火墙还是路由器都是到外界的接口设备,在进行防DDoS设置的同时,要权衡可能相应牺牲的正常业务的代价,谨慎行事。 利用负载均衡技术:就是把应用业务分布到几台不同的服务器上,甚至不同的地点。 采用循环DNS服务或者硬件路由器技术,将进入系统的请求分流到多台服务器上。 这种方法要求投资比较大,相应的维护费用也高,中型网站如果有条件可以考虑。 以上方法对流量小、针对性强、结构简单的DoS攻击进行防范还是很有效的。 而对于DDoS攻击,则需要能够应对大流量的防范措施和技术,需要能够综合多种算法、集多种网络设备功能的集成技术。 近年来,国内外也出现了一些运用此类集成技术的产品,如Captus IPS 4000、Mazu Enforcer、Top Layer Attack Mitigator以及国内的绿盟黑洞、东方龙马终结者等,能够有效地抵挡SYN Flood、UDP Flood、ICMP Flood和Stream Flood等大流量DDoS的攻击,个别还具有路由和交换的网络功能。 对于有能力的网站来说,直接采用这些产品是防范DDoS攻击较为便利的方法。 但不论国外还是国内的产品,其技术应用的可靠性、可用性等仍有待于进一步提高,如提高设备自身的高可用性、处理速率和效率以及功能的集成性等。 最后,介绍两个当网站遭受DoS攻击导致系统无响应后快速恢复服务的应急办法:* 如有富余的IP资源,可以更换一个新的IP地址,将网站域名指向该新IP;* 停用80端口,使用如81或其它端口提供HTTP服务,将网站域名指向IP:81。














发表评论