当前位置: 首页 > news >正文

成都快速建站模板商洛网站建设求职简历

成都快速建站模板,商洛网站建设求职简历,凡科建站源码,做网站搭建环境http://www.cnblogs.com/kellyseeme/p/7599061.html 理论部分 会话也就是session#xff0c;主要存储在服务器端#xff0c;用来识别用户的身份。 在浏览器中向服务端发送请求的时候#xff0c;不是http协议就是https协议#xff0c;而两种协议在发送请求的时候#xff0c… http://www.cnblogs.com/kellyseeme/p/7599061.html 理论部分     会话也就是session主要存储在服务器端用来识别用户的身份。     在浏览器中向服务端发送请求的时候不是http协议就是https协议而两种协议在发送请求的时候都是基于http协议http协议又是无状态的也就是stateless在每次用户发送请求过去的时候这都是一次新的连接服务端是不会认识你是谁的。     那么怎么让服务端来识别客户端谁是谁呢从而也就有cookiecookie好像没有中文翻译cookie主要存储在客户端一般是保存在某个特定路径的文件之中从而在每次发送请求的时候都会附加上这个cookie信息服务端得到这个信息之后就会判定你是哪个用户等信息cookie主要就是找到服务端的session信息从而用来追踪用户。     在生产环境中只要涉及到负载均衡的地方我们就需要考虑会话保持否则假如一个应用程序是需要登录的那么会频繁的需要登录。     负载均衡主要分为硬件负载均衡F5CITRIX等nginx负载均衡apache负载均衡无论是硬件负载均衡或者是软件负载均衡都会有一个会话保持的选项在需要进行会话保持的时候在每一个环节都需要进行会话保持也就是硬件负载均衡要选择会话保持在软件负载均衡也要进行会话保持。     生产环境使用的过时的第一种         在中间件的选择上面apache和webspare在逐渐淘汰在使用此种架构的时候F5会使用会话保持nginx也使用的是ip_hash进行会话保持。此种架构的最大的优势是部署比较简单在进行部署的时候只要将java程序的war包放置到具体的目录即可进行部署在进行自动化发布的时候进行部署是非常简单的事因为集群中各个机器是独立的一个机器出问题不会影响其他的机器缺点就是在部署的时候需要在每个主机上进行放置相同的war包并且配置要保持一直在需要会话保持的场景中如果一台主机down那么就会导致所有的会话丢失。     生产环境使用的过时的架构第二种           在使用domain模式的时候前端的F5和nginx都不需要进行会话保持只要做到负载均衡就好了。此种方式的最大有点就是在自动化部署的时候只要在domain节点的master或者是dmgr部署程序即可主节点会自动将相关的程序同步到其他的slave或者node节点上去在修改配置的时候也只要在master上进行修改即可在会话保持的上面主机之间会同步相关的会话信息从而不用担心某台服务器宕机从而导致会话丢失。缺点就是无论是在发布或者同步配置的时候主节点总要联系上从节点进行同步而从节点的相关进程还是比较容易出现假死的情况在使用这种集群的时候只要master节点或者dmgr节点的服务器损坏那么这个集群就不能重新发布新的程序版本了但是不会影响服务的可用性在每次出现问题的时候因为同步进程有好几个你都不知道是那个进程假死了只能全部进行重启一遍说好的稳定性呢。为啥这种慢慢淘汰一个是因为在自动化发布的时候很容易出现问题在进行灰度发布的时候standalone模式更容易控制而且domain模式有主机数量的限制而standalone模式理论上无上限。     生产环境目前架构如下       在使用此种架构的时候前端无须进行会话保持后端也无须进行会话的同步在有后端主机宕机的时候也不会丢失会话灰度发布也很容易自动化做起来比较简单从而也就成为了目前的架构。   使用tomcat standalon演示会话保持     tomcat的首页内容如下所示可以查看到页面的session信息 View Code? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [rootmogilenode3 kel]# cat index.jsp % page languagejava % % page importjava.util.* % html     head         titleJAVA PAGE/title     /head     body         % out.println(mogilenode3); % % session.getId() %     /body /html        在使用负载均衡的时候准备两台主机均需要安装jdk和tomcat并且提供相同的应用程序在首次访问的时候均会设置cookie信息在java程序中其中会有JSESSIONID在第二次访问同样的主机的时候就不会再次设置这个cookie信息了。     使用nginx进行反代的时候nginx的主要配置文件如下所示         在nginx的时候主要的就是使用ip_hash。     在使用apache进行反代的时候可以使用http协议或者ajp协议配置文件如下所示在编译的时候需要几个模块mod_proxymod_proxy_httpmod_proxy_ajpmod_proxy_balancer View Code? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 NameVirtualHost *:80 proxy balancer://tomserver     BalancerMember ajp://192.168.1.236:8009 loadfactor1 routemogilenode1     BalancerMember ajp://192.168.1.238:8009 loadfactor1 routemogilenode3     ProxySet stickysessionROUTEID /proxy VirtualHost *:80     DocumentRoot /usr/local/apache/htdocs     ServerName www.kel.com     ServerAlias www.kel.com     ProxyVia On     ProxyRequests Off     ProxyPreserveHost On     ProxyPass /status !     Location /balancer-manager         SetHandler balancer-manager         ProxyPass !         order allow,deny         allow from all     /Location     ProxyPass  / balancer://tomserver/     ProxyPassReverse  / balancer://tomserver/     ErrorLog logs/www.kel.com-error_log     CustomLog logs/www.kel.com-access_log common /VirtualHost Location /status     SetHandler server-status     Order allow,deny     Allow from all /Location    ExtendedStatus On        使用http协议的配置如下 View Code? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 NameVirtualHost *:80 Header add Set-Cookie ROUTEID.%{BALANCER_WORKER_ROUTE}e;path/ envBALANCER_ROUTE_CHANGED proxy balancer://tomserver     BalancerMember http://192.168.1.236:8080 loadfactor1 routemogilenode1     BalancerMember http://192.168.1.238:8080 loadfactor1 routemogilenode3     ProxySet stickysessionROUTEID /proxy VirtualHost *:80     DocumentRoot /usr/local/apache/htdocs     ServerName www.kel.com     ServerAlias www.kel.com     ProxyVia On     ProxyRequests Off     ProxyPreserveHost On     ProxyPass /status !     Location /balancer-manager         SetHandler balancer-manager         ProxyPass !         order allow,deny         allow from all     /Location     ProxyPass  / balancer://tomserver/     ProxyPassReverse  / balancer://tomserver/     ErrorLog logs/www.kel.com-error_log     CustomLog logs/www.kel.com-access_log common /VirtualHost Location /status     SetHandler server-status     Order allow,deny     Allow from all /Location    ExtendedStatus On        在次两种的配置下tomcat需要配置如下信息 ? 1 Engine nameCatalina defaultHostwww.kel.com jvmRoutemogilenode1 使用tomcat cluster演示会话保持     在apache或者nginx端只要做负载均衡的配置即可也就是在nginx中去掉ip_hash在apache中去掉ProxySet stickysessionROUTEID主要的配置在tomcat的host标签中如下所示 View Code? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 Cluster classNameorg.apache.catalina.ha.tcp.SimpleTcpCluster          channelSendOptions8   Manager classNameorg.apache.catalina.ha.session.DeltaManager            expireSessionsOnShutdownfalse            notifyListenersOnReplicationtrue/   Channel classNameorg.apache.catalina.tribes.group.GroupChannel     Membership classNameorg.apache.catalina.tribes.membership.McastService                 address228.0.0.4                 port45564                 frequency500                 dropTime3000/     Receiver classNameorg.apache.catalina.tribes.transport.nio.NioReceiver               addressauto               port4000               autoBind100               selectorTimeout5000               maxThreads6/     Sender classNameorg.apache.catalina.tribes.transport.ReplicationTransmitter       Transport classNameorg.apache.catalina.tribes.transport.nio.PooledParallelSender/     /Sender     Interceptor classNameorg.apache.catalina.tribes.group.interceptors.TcpFailureDetector/     Interceptor classNameorg.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor/   /Channel   Valve classNameorg.apache.catalina.ha.tcp.ReplicationValve          filter/   Valve classNameorg.apache.catalina.ha.session.JvmRouteBinderValve/   Deployer classNameorg.apache.catalina.ha.deploy.FarmWarDeployer             tempDir/tmp/war-temp/             deployDir/tmp/war-deploy/             watchDir/tmp/war-listen/             watchEnabledfalse/   ClusterListener classNameorg.apache.catalina.ha.session.ClusterSessionListener/ /Cluster        在其中需要修改的组播地址防止部署多个集群的时候出现地址冲突在部署的时候可能出现的错误如下 ? 1 2 3 java.net.SocketException: No such device; No faulty members identified. SEVERE: Unable to start cluster.        主要是因为没有设置网关地址或者组播地址在其中如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [rootmogilenode2 extra]# route add default gw 192.168.1.1 [rootmogilenode2 extra]# route -n Kernel IP routing table Destination     Gateway         Genmask         Flags Metric Ref    Use Iface 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0 192.168.249.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1 169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0 169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1 0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0        或者使用如下方法 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [rootmogilenode1 kel]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 [rootmogilenode1 kel]# route -n Kernel IP routing table Destination     Gateway         Genmask         Flags Metric Ref    Use Iface 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0 192.168.249.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1 169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0 169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1 224.0.0.0       0.0.0.0         240.0.0.0       U     0      0        0 eth0     在应用程序的web.xml中在web-app标签中添加指令 distributable/     监听的地址如下 ? 1 2 3 4 5 6 7 8 9 [rootmogilenode3 WEB-INF]# netstat -tnlp|grep java tcp        0      0 :::8080                     :::*                        LISTEN      3920/java           tcp        0      0 ::ffff:192.168.1.238:4000   :::*                        LISTEN      3920/java           tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      3920/java           tcp        0      0 :::8009                     :::*                        LISTEN      3920/java 测试     在第一次发送请求的时候会设置cookie信息如下所示         在第二次发送请求的时候会带上Cookie信息如下         在JAVA程序中只要收到了jsp或者servlet的请求那么就会生成JSESSIONID。 转载于:https://www.cnblogs.com/quietwalk/p/7599953.html
http://www.pierceye.com/news/132788/

相关文章:

  • 邯郸移动网站建设价格官方网站车联网是谁做
  • 哪个网站可以做高像素动图个人网站排版设计
  • 多少网站域名采用中文做一个电子商务网站在哪里做
  • 家装设计学校沈阳网站建设优化企业
  • 网站开发公司售后服务触屏端网站开发
  • 建设银行网站注销吗网页制作作品
  • 家具网站建设目的及功能定位网页游戏在哪里制作
  • 高端网站开发步骤网站设计制作如何评价
  • 漳州企业网站建设制作做发型的网站
  • 承包酒席可以做网站吗网站建设小组的运营模式
  • 保定网站建设公司哪家好酒店网站建设必要性
  • 电子商务网站建设设计报告建网站免费软件
  • 广州高端优秀网站改版设计公司网页编辑框
  • 摄影网站的需求分析wordpress英文版变成中文版
  • 网站营销公司wordpress 无效的文章类型
  • 网站一级页面标题怎么做茶网站设计素材下载
  • 网站建设费用计入什么科目淘宝网站开发店铺什么类别
  • 四川平昌县建设局网站怎么把网站维护
  • 成都教育行业网站建设工业和信息化部反诈中心发短信
  • 高端开发网站系统网页设计与制作教程课后题答案
  • 网站制作的困难与解决方案无极在线最新招聘
  • 做设计比较好的网站推荐郑州做网站企起
  • 手机版自适应网站怎么做春节网页设计素材网站
  • 中国建设教育协会网站培训中心网站建设怎么报价表
  • 网站建设与推广好做吗wordpress+模板+国外
  • 建网站免费空间哪有做logo的网站
  • 找外包做网站要多久网站导航栏条源码
  • php网站开发实践襄樊seo排名
  • 衡水住房和城乡建设局网站939网站建设
  • 晋江网站建设价格中国建筑人才网证书查询