Tomcat集群及Session共享
Tomcat集群
由于單臺(tái)Tomcat的承載能力是有限的,當(dāng)我們的業(yè)務(wù)系統(tǒng)用戶量比較大,請(qǐng)求壓力比較大時(shí),單臺(tái)Tomcat是扛不住的,這個(gè)時(shí)候,就需要搭建Tomcat的集群,而目前比較流行的做法就是通過Nginx 來實(shí)現(xiàn)Tomcat集群的負(fù)載均衡
1、準(zhǔn)備工作
1、準(zhǔn)備Tomcat
在服務(wù)器上,安裝兩臺(tái)tomcat(這里記得要改tomcat服務(wù)器端口號(hào))
2、安裝配置Nginx
在當(dāng)前服務(wù)器上,安裝Nginx
安裝完Nginx后,配置Nginx,修改配置文件conf/nginx.conf
加入代碼:
2、Session共享
在tomcat集群中,如果應(yīng)用需要用戶進(jìn)行登錄,這個(gè)時(shí)候,由于tomcat做了負(fù)載均衡,則用戶登錄并訪問應(yīng)用系統(tǒng)時(shí),就會(huì)出現(xiàn)問題
解決方案一:ip_hash 策略
一個(gè)用戶發(fā)起的請(qǐng)求,只會(huì)請(qǐng)求到tomcat1上進(jìn)行操作,另一個(gè)用戶發(fā)起的請(qǐng)求只在tomcat2上進(jìn)行操作。那么這個(gè)時(shí)候,同一個(gè)用戶發(fā)起的請(qǐng)求,都會(huì)通過nginx的ip_hash策略,將請(qǐng)求轉(zhuǎn)發(fā)到其中一臺(tái)tomcat上
假設(shè)用戶發(fā)送請(qǐng)求的ip為192.180.0.100,因?yàn)榇藭r(shí)的負(fù)載均衡策略是ip_hash策略,那么nginx就會(huì)對(duì)192.180.0.100這個(gè)ip地址進(jìn)行hash算法,算出的hash值指向了tomcat1,tomcat1存儲(chǔ)了該用戶的登錄信息,再進(jìn)行查詢操作,nginx算出的hash值還是指向了tomcat1。所以,該用戶的登錄和查詢都是在同一臺(tái)tomcat,這樣就不會(huì)出現(xiàn)登錄成功而查詢失敗的問題
解決方案二:Session復(fù)制
在tomcat中修改配置文件,修改文件名為conf/server.xml,添加代碼,這段代碼加在 <Engine> 或者 <Host> 里面
然后,在tomcat部署的應(yīng)用中(放在webapps中),修改WEB-INF/web.xml,在web.xml中加入代碼:<distributable/>.即可
方案二是通過廣播的形式進(jìn)行session復(fù)制,當(dāng)tomcat服務(wù)器的數(shù)量有很多時(shí),方案二會(huì)對(duì)session復(fù)制很多次,就會(huì)浪費(fèi)很多的資源
解決方案三:SSO單點(diǎn)登錄
單點(diǎn)登錄(Single Sign On),簡(jiǎn)稱為 SSO,是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。sso的定義是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所以相互信任的應(yīng)用系統(tǒng),也是用來解決集群環(huán)境session共享的方案之一
客戶端發(fā)起一次請(qǐng)求,請(qǐng)求到達(dá)nginx,nginx會(huì)去后端請(qǐng)求應(yīng)用服務(wù)器tomcat1(假設(shè)請(qǐng)求到了tomcat1),如果應(yīng)用需要登錄,tomcat1會(huì)將這個(gè)請(qǐng)求重定向到認(rèn)證服務(wù),在認(rèn)證服務(wù)中進(jìn)行登錄,然后認(rèn)證服務(wù)會(huì)將登錄的信息保存在redis數(shù)據(jù)庫當(dāng)中。下一次,用戶再一次發(fā)起查詢請(qǐng)求,請(qǐng)求到達(dá)nginx,nginx請(qǐng)求到了tomcat2,這時(shí)候,tomcat2中是沒有用戶登錄的信息,它就會(huì)到認(rèn)證系統(tǒng)中進(jìn)行驗(yàn)證,然后認(rèn)證系統(tǒng)就會(huì)去redis中查詢有沒有用戶登錄的信息,如果有,就可以在tomcat2中進(jìn)行查詢操作
總結(jié)
以上是生活随笔為你收集整理的Tomcat集群及Session共享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3_树莓派机载计算机的硬件资源样例教程—
- 下一篇: 修改论文格式的方法总结