1义钉、tomcat集群能帶來什么? ??
? ? (1-1)提高服務的性能句狼,增大并發(fā)的能力以及高可用性
? ? (1-2)提供架構(gòu)的橫向擴展能力
2庆尘、tomcat集群實現(xiàn)原理
? ? 通過nginx負載均衡進行請求的轉(zhuǎn)發(fā)
3羔巢、tomcat集群帶來什么新問題
? ?(3-1) session登陸信息的存儲和讀取問題?
這個解決方案有以下幾種:
? ? (3-1-1)采用nginx ip hash policy 根據(jù)用戶的請求ip地址進行nginx的hash取值來達到請求到制定的服務器上面乖订,這種方案不需要改變現(xiàn)在的已有的架構(gòu)實現(xiàn)橫向擴展 省事,但是這種方案也有缺點,缺點是導致一部分服務器很忙而另一部分服務器很空閑導致服務器浮在不均衡烤镐,還有就是在網(wǎng)絡環(huán)境復雜的情況下無法實現(xiàn)服務因為ip總變。
? ? (3-2)服務器定時任務并發(fā)問題(多臺機器的定時任務同時執(zhí)行棍鳖,會同時訪問同一資源比如數(shù)據(jù)庫這時候會產(chǎn)生大量的競爭有可能產(chǎn)生數(shù)據(jù)的錯亂)
????(3-2-1)redis 分布式 session server來解決服務器定時任務并發(fā)問題
4炮叶、nginx負載均衡配置、常用策略渡处、場景和特點
? ? 輪訓镜悉、權(quán)重、ip hash医瘫、url hash(需要安裝nginx插件也就是第三方)侣肄、fair(第三方,按照服務器的響應時間來進行分配醇份,響應時間短的優(yōu)先分配)
5稼锅、tomcat集群之單機部署多應用
? ? (5-1)解壓兩個tomcat 分別命名為tomcat1和tomcat2。
????(5-2)分別修改tomcat的字符集為utf-8被芳。
? ? (5-3)修改/etc/profile添加內(nèi)容:
? ??????export CATALINA_BASE=/Users/hanyh/tomcatDistribute/tomcat1
????????export CATALINA_HOME=/Users/hanyh/tomcatDistribute/tomcat1
????????export TOMCAT_HOME=/Users/hanyh/tomcatDistribute/tomcat1
????????export CATALINA_2_BASE=/Users/hanyh/tomcatDistribute/tomcat2
????????export CATALINA_2_HOME=/Users/hanyh/tomcatDistribute/tomcat2
????????export TOMCAT_2_HOME=/Users/hanyh/tomcatDistribute/tomcat2
? ? (5-4) 修改tomcat2的catalina.sh
? ??????export CATALINA_BASE=$CATALINA_2_BASE
? ? ? ? export?CATALINA_HOME=$CATALINA_2_HOME
? ? (5-5)修改tomcat2中的server.xml把端口加1000
? (5-6)在一臺機器上分別啟動兩臺tomcat缰贝。
? (5-7)安裝nginx。
? (5-8)然后在nginx的conf文件夾下面新建一個vhost文件夾來保存nginx的負載均衡策略畔濒,然后編輯nginx.conf文件在里面 include vhost/*.conf文件
? (5-9)在vhost文件夾下面新建一個www.test.com.conf文件 里面編輯的內(nèi)容為:
? ??????????upstream www.test.com{
????????????????????server www.test.com:8080 weight=1;
????????????????????server www.test.com:9080 weight=3;
????????????}
????????????server {
????????????????????listen 80;
????????????????????autoindex on;
????????????????????server_name www.test.com;
????????????????????access_log /usr/local/nginx/logs/access.log combined;
????????????????????index index.html index.htm index.jsp index.php;
????????????location / {
????????????????????????proxy_pass http://www.test.com;
????????????????}
????????}
然后nginx -s reload 訪問www.test.com 即可剩晴。