极光学堂
●
●
●
#WAS,TOMCAT知多少#
(第一讲)
WAS与TOMCAT
WAS,这个产品的全名是WebSphere Application Server。是一个IBM的产品。如下图所示,在IBM官方网站上来说,该产品目前所属为IBM计算产品:
当我们点进去后,我们发现如下图所示:
注意图中的标注为:“可靠的Java EE Runtime”(EE:Enterprise Edition),虽然我们当前普遍流行使用的都是Java SE(Standard Edition) 开发环境和运行时环境。但是WebSphere,WebLogic,和JBoss等,是可以运行JavaEE环境的产品还是需要特定注意的。 图中的这个标注,意味着,WebSphere是主流支持JavaEE的,当然,EE支持,SE当然也支持。
(著名的Spring架构是基于Java SE环境开发的一个轻量级架构。)
简单的理解呢,WAS 其实也是一个java运行时环境,和我们当前大量使用的,免费开源的tomcat一样,都是java的一个运行时环境。(有点类似Oracle和MySQL,一个强大收费不开放,一个适用免费开放)
#1#
负载均衡架构
结合大家可能对tomcat产品更加熟悉一些的情况,我们下面先引入常用的一个tomcat负载均衡架构:
在上图中,由Nginx(Nginx出来之前是Apache)来进行用户访问的分流, Tomcat01和Tomcat02进行应用程序运算,并访问MySQL数据库,由MySQL进行数据的存储。
这种架构,当Tomcat01宕机失效时,我们还可以使用Tomcat02来保障业务连续性。那么和这个架构一样的,WebSphere也是有相同架构的,如下图所示:
可以使用WebSphere系列的IHS Server(IBM HTTP Server,其内核就是Apache)作为Nginx, 使用WAS Server 作为TOMCAT,实现相同效果的负载均衡架构。
#2#
高可用架构
那么负载均衡架构,对于某些特别的应用系统,可能还是不够的。因为如上架构所示,我们假设有个用户ClientVIP , 当你使用系统时,此时TOMCAT01宕机掉线了。那么ClientVIP不得不重新登录访问系统,继续使用。 而此时,之前的ClientVIP的Session会话是丢失了,需要重新建立。 若,我们不想丢失ClientVIP的Session,让他不需要重新登录,尽可能的降低ClientVIP,在TOMCAT01宕机时受到的影响。 那么我们可以采用如下架构:
上图是一种TOMCAT高可用(High Availability)架构,和负载均衡架构最大的不同时,高可用架构需要一个单独的存储空间,来保存用户Session会话,而在保存了用户Session的情况下,用户是可以继续做之前TOMCAT01宕机之前的操作的。从而可以说,在理论上,这种方式是可以保障用户ClientVIP实现无感使用的,进而更好的保障业务连续性。注意,是理论上啊,架构复杂度高,互联网环境复杂,任何一点故障,都可能影响业务连续性,从而影响用户感受的。
那么跟上一个架构同理,使用WebSphere 也是可以试想这种架构的。如下图所示:
通常使用IHS作为页面访问和分流,WAS Application作为应用服务器,Session会保存在IBM的DB2数据库(也可以是别的数据库)产品里,来实现高可用架构。
最后要说的就是,我们这里所说的架构实现,都只是一个架构逻辑概念。在真正的部署配置时,还有很多需要注意的地方。实际可采用的架构也是很细致的。如下图所示:
如果你真的部署一个相关的负载均衡结构或者高可用架构,不论是基于TOMCAT的,还是WebSphere的,或者是其他中间件产品的,都需要深入了解,谨慎设计,仔细实施,最后真的部署成功时,也要注意多做测试。
#3#
#今日讲师#
帅气滴任老师