精华内容
下载资源
问答
  • 服务器分布式方案

    2020-04-17 09:51:45
    服务器分布式方案 单服务器转分布式服务器的注意点: session是保存在当前请求的服务器下,不能直接实现分布式方案。解决方案:使用redis缓存等。 当前请求的服务器生成的数据缓存、文件等,同样在每一个分布式...

    服务器分布式方案

    文本属于心得和总结,仅供参考。

     

    • 单服务器转分布式服务器的注意点:
    1. session是保存在当前请求的服务器下,不能直接实现分布式方案。解决方案:使用redis缓存等。
    2. 当前请求的服务器生成的数据缓存、文件等,同样在每一个分布式的服务器 都会生成数据缓存、文件,导致数据不统一。这种程序也是不能直接实现分布 式方案。解决方案:所有服务器挂载共享磁盘上。
    3. 减少服务器的差异,随时增减服务器都不会影响。

     

     

     

     

    • 多个接入层服务器(接入层)
    1. 多个机房,每个机房部署一个集群,每个集群一个LVS(Linux虚拟服务器)。一个LVS,每天可以承受1亿次访问量。
    2. 智能DNS会为用户解析到最近的、最合适的、对应网络运营商的、网速最快的LVS。
    3. 部分接口(例如活动入口验证等)、静态页面、图片、静态资源缓存在CDN(区域节点)。
    4. CDN节点多,网络覆盖面广、速度更快,CDN本身也有内容缓存。
    5. 利用好CDN能大大减轻服务器的压力,但CDN的带宽一定要足够。

     

     

    • 什么是LVS?

    LVS(Linux虚拟服务器),主要用于多服务器的负载均衡。它工作在网络层,可以实现高性能,高可用的服务器集群技术。它廉价,可把许多低性能的服务器组合在一起形成一个超级服务器。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。

     

     

    • 多Web服务器 —— 单数据中心(web服务层)
    1. 动态页面生成、数据处理、逻辑代码。
    2. LVS后端挂载多个web服务器,规模最好在2~10不等。
    3. 单数据中心,开发、维护更简单,数据一致性有保证。
    4. 跨机房访问时,网络问题会比较突出,要有光纤专线带宽保障。

     

     

     

    • 多Web服务器 —— 多数据中心 (web服务层)
    1. 解决了单数据中心的跨机房访问的网络问题
    2. 每个数据中心就是一个独立的服务器集群。
    3. 多数据中心,数据同步,数据一致性的开发难度提高。

    解决方案:引入中控服务器,中控服务器专门用于调配多数据中心的数据,保证数据的同步。

     

     

    • 服务器规模预估
    1. 数据量:订单量、用户量等
    2. 访问量:全流程的请求数量,每次请求的速度
    3. 资源量:CDN、服务器带宽、Web服务器、数据库、redis数量。

     

    展开全文
  • javaweb服务器分布式集群 一:服务器类型 服务器的分布式和集群都是由集中式发展而来的。但是分布式和集中式会配合使用。我们用图来了解下工作模式。 集中式: 分布式: 集群: 我们在搭建网站的时候,...

                                       javaweb服务器分布式集群

    一:服务器类型

    服务器的分布式和集群都是由集中式发展而来的。但是分布式和集中式会配合使用。我们用图来了解下工作模式。

    集中式:

    分布式:

    集群:

    我们在搭建网站的时候,为了及时响应用户的请求,尤其是高并发请求的时候,我们需要搭建分布式集群来处理请求。

    我们一个服务器的处理能力是有限的。如果用我们一台设备当作服务器,那么当并发量比较大的时候,同一时间达到上

    百的访问量。那服务器就宕机了。然后只能重启服务器,当出现高并发访问的时候,就又会宕机。所以我们需要更多的

    服务器来并行工作,处理用户的请求。那么问题来了,我们服务器运行的时候,怎么分发大量的请求给不同的服务器呢?

    一般会采用(1*apache+n*Tomcat)或者服务器模式来分发并处理请求。或者采用nginx分发请求。至于具体选择哪个分发

    请求,根据实际需求来定。追求处理效率的话选择nginx,追求稳定的话选择apache。当然如果网站足够大的话,可以用

    apache和nginx配合使用。nginx在前端分发请求,后端用apache处理。

    二:Apache(nginx)分发请求

    回到正题:

    我们怎么在多服务器下前端用apache或者nginx根据不同用户分发请求呢?

    单服务器情况下我们可以在用户登陆的时候记录用户的登陆信息(SessionId),但是当用到多个服务器时,HTTP是无

    状态的,原来但服务器的处理方式不能保证处理会话事务时记录用户的状态。一般有两种解决措施:

    1、session粘性:

    这种方式是把用户的状态与某个固定的服务器绑定起来。当用户第一次访问网站的时候,由apache记录用户的登陆

    信息,然后把这个信息与对应的服务器捆绑起来。这时候当用户再次访问的时候,apache会把请求分发到对应的服

    务器上。这种方式又称为亲和式集群。

    这种粘性可由apache配置:

    worker.controller.sticky_session=true|false

    worker.controller.sticky_session_force=true|false

    第一行配置代表是否启用session粘性,true代表启用。

    第二行配置是在第一行开启session粘性的条件下,当服务器宕机时,是否继续发送到宕机的服务器上。true代表

    仍然发送。false代表发送到别的服务器上。建议第一条配置为true,第二条为false。这样防止请求丢失。

    优点:

    占用的内存小,而且只在第一次用户访问的时候存储对应要访问的服务器,用户再次访问的时候,能迅速把请求分

    发给对应的服务器。

    缺点:

    对前端服务器的依赖过大,一旦apache宕机,整个用户的sessionid数据都会丢失。

    2、同步session:

    为了业务的流畅,服务器可以牺牲空间和效率来保证同步session。这样前端apache服务器分发完请求之后,任何

    一个服务器都可以到对应存储同步session的地方进行读取到用户的状态,并处理请求。这种模式也有三种实现方式

    ①cookie存储用户的信息:

    我们可以选择在用户的磁盘上存储用户的信息,利用cookie机制。用户在每次访问的时候,都会在请求头携带用户

    的登陆信息,我们便可以读取到。

    优点:

    把用户的存储信息放在用户的磁盘上,能够降低服务器的存储压力,而且存储的字节较session更轻量级。

    缺点:

    cookie受浏览器的限制,有些浏览器不支持cookie,比如google

    cookie不够安全,容易被拦截并破解

    间接的增加了传输数据的流量,增大了网络传输的压力

    ②:数据库存储用户的信息:

    把用户的登陆信息存储在服务器的数据库里,这样每次有请求发过来的时候,通过读取数据库的信息加载对应用

    户的状态。

    优点:

    数据库能够很好地保护好用户的数据,当服务器宕机的时候,不会丢失用户的sessionId信息。

    缺点:

    增加服务器的存储压力,需要存储用户的大量信息。为了安全还需要对用户的信息进行备份。

    每次用户访问的时候都需要去加载数据库,有一定的时间开销。从数据库读取和写入数据库需要对象的序列化和

    反序列化的性能开销。

    每次读取之后需要把很多的数据加载到内存,占用内存大。

    ③:缓存(cache)存储用户的信息:

    我们可以在服务器上开启一块专门用来存储用户登录信息的空间,每次用户登录的时候,存储用户的登录信息。

    并且设置用户登陆信息的过期和刷新。这类似于内存中有一个数据库,而且也存在这样成熟的技术。比如redis。

    一些大公司一般都会有cache集群。其中就会搭建redis集群来记录用户的状态信息。

    优点:

    服务器宕机的时候,用户的状态信息不会丢失。

    数据量是轻量级的,相对于session来说能够大大节省内存开销。

    处理请求的速度迅速,省去了读取数据库的过程。

    缺点:

    比较占内存,而且为了安全,在网站运行的时候,除了需要对数据库备份,还需要对redis进行同步备份。增大

    内存开销。

    对于以上介绍的集中模式,还是采用缓存机制存储用户的状态信息比较好,这种方式也是大型互联网公司一定会配置

    的微服务集群。

    本文参考博文:web服务器集群,感谢博主。

    展开全文
  • 从中心服务器分布式取得核心数据存储过程从中心服务器分布式取得核心数据
  • 服务器分布式部署和集群部署的区别 1、分布式部署 分布式是以缩短单个任务的执行时间来提升效率的;分布式是将不同的业务分布在不同的地方; 2、集群部署 集群是将几台服务器集中在一起,实现同一业务;集群是通过...

    服务器分布式部署和集群部署的区别
    1、分布式部署
    分布式是以缩短单个任务的执行时间来提升效率的;分布式是将不同的业务分布在不同的地方;
    2、集群部署
    集群是将几台服务器集中在一起,实现同一业务;集群是通过提高单位时间内执行的任务数来提高效率;集群主要分为高可用集群(High Availability Cluster)、负载均衡集群(Load Balance Cluster,nginx即可实现)、科学计算集群(High Performance Computing Cluster)
    3、分布式与集群的关系
    分布式中的每个节点,都可以做集群;而集群并不一定是分布式的;

    展开全文
  • 【新服务】您一定还需要其他的资源欢迎后台...是节点之间联系的桥梁分布式DB:分布式结构化数据存取分布式Cache:分布式缓存数据(非持久化)存取分布式文件:分布式文件存取网络通信:节点之间的网络数据通信监控管理...

    【新服务】

    您一定还需要其他的资源

    欢迎后台留言

    小编收集后

    尽快更新

    以上资源收集至互联网

    如有侵权请联系删除

    分布式与集群的区别

    分布式任务处理服务:负责具体的业务逻辑处理

    分布式节点注册和查询:负责管理所有分布式节点的命名和物理信息的注册与查询,是节点之间联系的桥梁

    分布式DB:分布式结构化数据存取

    分布式Cache:分布式缓存数据(非持久化)存取

    分布式文件:分布式文件存取

    网络通信:节点之间的网络数据通信

    监控管理:搜集、监控和诊断所有节点运行状态

    分布式编程语言:用于分布式环境下的专有编程语言,比如Elang、Scala

    分布式算法:为解决分布式环境下一些特有问题的算法,比如解决一致性问题的Paxos算法。集群是个物理形态,分布式是个工作方式。集群一般是物理集中、统一管理的,而分布式系统则不强调这一点。所以,集群可能运行着一个或多个分布式系统,也可能根本没有运行分布式系统;分布式系统可能运行在一个集群上,也可能运行在不属于一个集群的多台(2台也算多台)机器上。分布式是相对中心化而来,强调的是任务在多个物理隔离的节点上进行。中心化带来的主要问题是可靠性,若中心节点宕机则整个系统不可用,分布式除了解决部分中心化问题,也倾向于分散负载,但分布式会带来很多的其他问题,最主要的就是一致性。集群就是逻辑上处理同一任务的机器集合,可以属于同一机房,也可分属不同的机房。分布式这个概念可以运行在某个集群里面,某个集群也可作为分布式概念的一个节点。分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。2、简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。例如:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行该任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)

    而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,1小时后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!集群一般被分为三种类型,高可用集群如RHCS、LifeKeeper等,负载均衡集群如LVS等、高性能运算集群;分布式应该是高性能运算集群范畴内。 分布式:不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题。集群:同一个业务部署在多台机器上,提高系统可用性。

    MySQL大型分布式集群

    通过分布式集群和分库分表两部分内容进行分析:

    1、主要解决针对大型网站架构中持久化部分中,大量数据存储以及高并发访问所带来是数据读写问题。分布式是将一个业务拆分为多个子业务,部署在不同的服务器上。集群是同一个业务,部署在多个服务器上。

    2、着重对数据切分做了细致丰富的讲解,从数据切分的原理出发,一步一步深入理解数据的切分,通过深入理解各种切分策略来设计和优化我们的系统。这部分中我们还用到了数据库中间件和客户端组件来进行数据的切分,让广大网友能够对数据的切分从理论到实战都会有一个质的飞跃。通过分布式+集群的方式来提高io的吞吐量,以及数据库的主从复制,主主复制,负载均衡,高可用,分库分表以及数据库中间件的使用。

    部分资源截图

    01

    02

    03

    04

    05

    展开全文
  • 服务器两次被入侵,导致我一切推倒重来,在重新配置的过程,总结...fastDfs分布式文件系统服务器(用于上传配置) 在Storage上安装nginx配置图片服务虚拟主机(用于下载) redis缓存服务器安装及jedis集成使用(未更新...
  • 分布式在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的...
  • Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了...
  • (1)设定IP Nginx服务器:192.168.1.10 nginx1.6.2 PHP服务器:192.168.1.11 php5.3.29(2)安装好Nginx和PHP,其中Nginx服务和PHP-FPM服务正常开启(3)配置文件的写法至关重要,新手的大坑,如下写: nginx.conf...
  • 我们最终形成的征途服务器分布式技术构架,是解决他们带来的问题,而不是绕过他们。1. 实时的交互 电子游戏的交互的实时性不言而喻,MMORPG则带来了更复杂的交互。无论是玩家与NPC还是玩家与玩家之间,当一个玩家...
  • 一台数据库服务器,一个web服务器,请问如何整多台judge服务器,提高判题的速度,如何将用户提交的代码发给judge服务器呢?急求,急急急 谢谢
  • Ehcache提供多种缓存解决方案,其中RMI是最简单也是最常用的一种,分为自动...在集群中也不需要什么优化服务器的知识,这是默认推荐的。不同服务器自动成员发现的配置是一样的,其中配置如下 <cacheManagerPeer...
  • 1)通用服务器 (1)网关服务器 (2)用户服务器 2)系统服务器 3)游戏服务器 4)多服务器启动部署 (1)因为服务器是c++ lua,因此build出来一个exe用于启动lua脚本即可启动 不同的服务器 (2)搜索路径的设置: 共用...
  • 服务器分布式环境搭建【一】

    千次阅读 2017-05-11 23:01:45
    一、安装jdk 1.上传安装包,jdk-7u7-linux-i586.tar。这里我使用的是jdk1.7,32位的。 2.解压tar -zxf jdk-7u7-linux-i586.tar.gz 3.设置环境变量 vim /etc/profile ...export JAVA_HOME="/usr/local/jdk1.7.0_07" ...
  • 部署转账合约后,在118服务器创建了Nieyong用户,初始金额10000,在121服务器创建了CuiYiJu用户,初始金额100 在118服务器进行转账: 在121服务器查询转账后Cui的金额: Step2:增加机构C(服务器47),搭建...
  • sip服务器分布式负载均衡之opensip

    千次阅读 2015-11-24 11:07:05
    本人研究的一个重点方向,改日再总结。
  • ssh master

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,137
精华内容 25,254
关键字:

服务器分布式