首页 > 网站建设 >

电商网站建设高可用性之服务器集群

发布时间:2018-10-31 作者:深圳网站建设

大型电商网站建设高可用性之服务器集群
  网站建设关于高可用性以及服务器集群模式,网站建设公司认为很有必要在这里进行一些知识普及,原因是我们在日常与客户的沟通交谈中,很多客户在做商城网站项目时都会说我的网站需要类似京东或者天猫那样的体验速度以及数据安全性,但是当客户在知道所需费用之后往往是不能接受那样的高成本,博纳网络认为一个也商平台的高安全高可用性当然是伴随着高开发成本的。我们一直认为,任何一个也商平台项目在制作运行之初是不需要攀比那些成功的大型也商平台。但是我们可以在前期对于大型也商平台的运行环境以及硬件配置等方面进行一些了解。基于这个目的,我们编辑整理了“应用服务器集群的Session管理”,希望能给我们的客户在项目规划制作时一些帮助。
应用服务器集群的Session管理
  应用服务器的高可用架构设计主要基于服务无状态这特性,但是事实上,业务总是有状态的,在交易类的也子商务网站,需要有购物车记录用户的购买信息,用户每次购买请求都是向购物车中增加商品;在社交类的网站中,需要记录用户的当前登录状态、最新发布的消息及好友状态等,用户每次刷新页面都需要更新这些信息。
  Web应用中将这些多次请求修改使用的上下文对象称作会话(Session),单机情况下.Session可由部署在服务器上的Weh容器(如JBoss)管理。在使用负载均衡的集群环境中,由于负载均衡服务器可能会将请求分发到集群任何台应用服务器上,所以保证每次请求依然能够获得正确的Session比单机时要复杂很多。
集群环境下,Session管理主要有以下几种手段
1.Session复制
  Session复制是早期企业应用系统使用较多的种服务器集群Session管理机制。应用服务器开启Web容器的Session复制功能,在集群中的几台服务器之间同步Session对象,使得每台服务器上都保存所有用户的Session信息,这样任何一台机器宕机都不会导致Session数据的丢失,而服务器使用Session时,也只需要在本机获取即可。如图5-6所示。
大型也商平台建设知识之服务器集群模式示意图5-6使用Session复制实现应用服务器共-Session。
  这种方案虽然简单,从本机读取Session信息也很快速,但只能使用在集群规模比较小的情况下。当集群规模较大时,集群服务器间需要大量的通信进行Session复制,占用服务器和网络的大量资源,系统不堪负担。而且由于所有用户的Session信息在每台服务器上都有备份在大量用户访问的情况下,甚至会出现服务器内存不够Session使用的情况。而大型网站的核心应用集群就是数千台服务器,同时在线用户可达千万,因此并不适用这种方案
2.Session绑定
  Session绑定可以利用负载均衡的源地址Hash算法实现,负载均衡服务器总是将来源于同IP的请求分发到同台服务器上(也可以根据Cookie信息将同个用户的请求总是分发到同台服务器上,当然这时负载均衡服务器必须工作在HTTP协议层上,关于负载均衡算法的更多信息请参考本书第6章内容。这样在整个会话期间,用户所有的请求都在同台服务器上处理,即Session绑定在某台特定服务器上,保证Session总能在这台服务器上获取。这种方法又被称作会话黏滞,如图5-7所示。
大型网站建设服务器集群知识示意图5-7利用负载均衡的会话黏滞机制将请求绑定到特定服务器
  但是Session绑定的方案显然不符合我们对系统高可用的需求,因为旦某台服务器宕机,那么该机器上的Session也就不复存在了,用户请求切换到其他机器后因为没有Session而无法完成业务处理。因此虽然大部分负载均衡服务器都提供源地址负载均衡算法,但很少有网站利用这个算法进行Session管理。
3利用Cookie记录Session
  早期的企业应用系统使用c/s(客户端/服务器)架构,种管理Session的方式是将Session记录在客户端,每次请求服务器的时候将Session放在请求中发送给服务器,服务器处理完请求后再将修改过的Session响应给客户端。网站没有客户端,但是可以利用浏览器支持的Cookie记录Session,如图5-8所示
大型网站搭建服务器集群知识示意图5-8利用Cookie记录Session信息
  利用Cookie记录Session也有一些缺点.比如受Cookie大小限制.能记录的信息有限;每次请求响应都需要传输Cookie.影响性能;如果用户关闭Cookie,访问就会不正常。但是由于Cookie的简单易用.可用性高,支持应用服务器的线性伸缩,而大部分应用需要记录的Session信息又比较小。因此事实上,许多网站都或多或少地使用Cookie记录Session。
4.Sassion服务器
  那么有没有可用性高、伸缩性好、性能也不错,对信息大小又没有限制的服务器集群Session管理方案呢?
  答案就是Session服务器。利用独立部署的Session服务器(集群)统管理Session,应用服务器每次读写Session时,都访问Session服务器,如图5-9所示。
大型网站搭建服务器集群知识示意图5-9利用Session服务器共享Session
  这种解决方案事实上是将应用服务器的状态分离,分为无状态的应用服务器和有状态的Session服务器,然后针对这两种服务器的不同特性分别设计其架构。对于有状态的Session服务器,种比较简单的方法是利用分布式缓存、数据库等,在这些产品的基础上进行包装,使其符合Session的存储和访问要求。如果业务场景对Session管理有比较高的要求,比如利用Session服务集成单点登录(sso)、用户服务等功能,则需要开发专门的Session服务管理平台。深圳网站建设公司-博纳网络关于大型电商平台类网站搭建服务器集群模式的知识我们就分享到这里。谢谢关注。
文章标题:电商网站建设高可用性之服务器集群
本文地址:https://www.198bona.com/news/1612.html
如果您觉得案例还不错请帮忙分享:

网站建设

网络推广

解决方案

域名主机

建站行业资讯