Application(ServletContext)在负载均衡上面的问题

ServletContext翻译为“Servlet上下文”。是servlet与servlet容器间直接通信的接口。j2sdkee的javadoc中说它是“a set of methods that a servlet uses to communicate with its servlet container. ” Servlet容器在启动一个web应用时,会为它创建一个servletContext对象。每个web应用有唯一的servletContext对象。同一个web应用的所有servlet对象共享一个serveltContext。Servlet对象可以通过它来访问容器中的各种资源。

在程序中可以把servletContext理解成一个存放全局变量的包

ServletContext 对象包含在ServletConfig 对象中,ServletConfig 对象在初始化Servlet 时由Web 服务器提供给Servlet。

在Servlet容器中,每个ServletContext通常只有一个实例。当 Web容器是分布式的部署在多台机器上时,那一个ServletContext在每个JVM上都有一个实例。

ServletContext中的属性只在本地的JVM中有效,不能被分布式环境中运行于其它JVM中的Servlet访问,如果需要在分布式环境中共享数据,可以把数据存放在Session,数据库或EJB中。

在Servlet容器中,但没有部署的Servlet也是允许的,这种Servlet属于一个缺省的ServletContext,这种缺省的 ServletContext不能被分布到多个JVM上。

Web服务器可能支持多个域名分享一个IP地址,这种配置叫做“虚拟主机”。在这种情况下,每个虚拟主机必须要有自己的ServletContext,而不能共享一个ServletContext。

时间: 2024-09-29 06:01:46

Application(ServletContext)在负载均衡上面的问题的相关文章

Windows平台分布式架构实践 - 负载均衡 上

概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为什么那么的迫切的希望.NET跨平台呢?第一个理由是便宜,淘宝号称4万多台服务器全部运行在Linux,Linux平台下还有免费的MySql,这些都是免费的,这些省下来直接就是利润呀,做企业的成本可以降低又没有任何损失,何乐而不为呢?第二个理由是在Linux系统下还有很多非常优秀的构架(当然同样也是免费

Java + Tomcat + Memcached + Ecs 实现负载均衡~上

前言: 公司的产品上线了, 对于大并发量的客户访问和对手的攻击,真是苦不堪言,所以集群的部署重要,现在集群的部署一般有两种方式,第一种,看到大部分人的做法一般是Nginx+Memcached+Tomcat进行一系列的转发部署,但是说实话,我们自己去搞这个Nginx,转发的效果并不是那么的完美,如果Nginx的服务器down掉的话,那么我们的整个站点,基本上就废除了,所以我这边用的的买了阿里云的ecs,买了一个负载均衡,进行的站点转发功能,其中阿里云的安全骑士也挺好,可以帮我们检测到攻击,那两台不

azure负载均衡上遇到的坑-12-28

           前置条件:  使用azure上现有的两台虚拟机做负载,使用azure上的负载均衡器 . 1.新建负载均衡器 2.新建完负载均衡器之后,接下来配置,配置后端池,运行状况探测,负载均衡规则. 在添加后端池的时候,没有可用性集,返回主机列表,找到需要添加到后端池的主机, 看到这里凉了,不能使用azure的负载均衡做负载.可使用自建的负载均衡keepalived来实现. 只能在创建虚拟机时配置可用性集.必须重新创建虚拟机,以便将其移入或移出可用性集. 小结一下:    在azure

F5负载均衡上使用iRule 来选择SNAT pool

需求:使用iRule 根据不同目的地址或端口,来选择SNAT 地址 ,实现相同的后台节点,访问不同目的地址或者目的端口时,源地址也会不同: 网络概况:内网:后台节点server:192.168.10.71对应VLAN: Internal-selfIP: 192.168.10.1外网:客户端client: 172.16.10.172对应VLAN: external-selfIP: 172.16.10.1 1.需求一: 负载均衡功能(client访问server) 解决方案1. 新建virtual

两台服务器如何互相做nginx负载均衡

环境介绍 192.168.127.131  nginx负载均衡 兼web服务器 192.168.127.130  nginx负载均衡 兼web服务器 每台服务器上面有两个web站点分别是 www.123.com www.hu.com 说明: 准备用dns轮询解析来实现负载均衡,并且在两台server上面还同时启用了Nginx负载均衡,两台服务器是互为负载.前提是两台web服务端的网站内容一致. 配置过程: 在130负载均衡上面的操作: 在 上面编辑一个配置文件 vi /usr/local/ngi

Azure上七层负载均衡APP Gateway

Azure的SLB和ILB是最常用的4层负载均衡工具.但有些场景是7层的负载均衡,SLB和ILB就无能为力了. Azure上已经推出了APP Gateway的服务,就是7层负载均衡的负载均衡器. 如上图,APP Gateway实现用户HTTPS网站的SSL Offload,还可以实现多个VM的负载均衡.而且可以实现Cookie Affinity功能,这也是7层负载均衡的一种功能. 通过App Gateway.SLB.Traffic Manager综合使用,可以实现对应用系统的高扩展性: 可以通过

Windows平台下利用APM来做负载均衡方案 - 负载均衡(下)

概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效果,可以说还是非常的理想的.同时我们也收集到了不少的问题,比如说如何在这种分布式的架构下使用Session,NLB中有一台服务器挂掉了会导致对外暴露的地址无法访问,如果实现服务器之间的同步,如果更好的进行热修复等等,还有我们在上一篇中也提到了NLB所提供的功能是非常简单的,为了回答我们前面提到的问题

高可用负载均衡架构(1)

高可用负载均衡架构 1     前言 1.1  LVS介绍 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR),十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq): 1.1.1     静态调度 ①rr(Round Robin):轮询调度,轮叫调度 轮

Windows平台分布式架构实践 - 负载均衡(下)

概述 我们在上一篇Windows平台分布式架构实践 - 负载均衡中讨论了Windows平台下通过NLB(Network Load Balancer) 来实现网站的负载均衡,并且通过压力测试演示了它的效果,可以说还是非常的理想的.同时我们也收集到了不少的问题,比如说如何在这种分布式的架构下使用Session,NLB中有一台服务器挂掉了会导致对外暴露的地址无法访问,如果实现服务器之间的同步,如果更好的进行热修复等等,还有我们在上一篇中也提到了NLB所提供的功能是非常简单的,为了回答我们前面提到的问题