tengine做叢集負載的配置和注意事項
tengine是淘寶發起的一個專案,在nginx的基礎上改造的,從配置上來講,跟nginx幾乎一樣的。
我之前在世紀聯華的專案中,做過負載均衡,現在根據當時記錄的資料,現在寫下來。
一、各種安裝
除了tengine的包以外,還需要zlib、openssl、pcre
先把zlib、openssl、pcre的包,都放到usr/local下面,並且解壓
以及進入目錄安裝,比如zlib,執行./configure --prefix=/usr/local/zlib,然後make,再make install
然後就是下載tengine,以及安裝:
#wget http://tengine.taobao.org/download/tengine-2.1.1.tar.gz #tar zxvf tengine-2.1.1.tar.gz #cd tengine-2.1.1./configure --prefix=/usr/local/nginx --with-openssl=/usr/local/openssl-1.0.0a --with-pcre=/usr/local/pcre-8.13 --with-zlib=/usr/local/zlib-1.2.8makemake install
中間可能會遇到問題要解決,如果一切順利,那麼太美好了。
-----------------------------------------
二、配置 nginx.conf
1、負載
upstream tomcat_server {
#這裡的“tomcat_server”,跟下面server配置的proxy_pass http://tomcat_server,要對應。
#upstream的負載均衡,weight是權重,可以根據機器配置定義權重。weigth引數表示權值,權值越高被分配到的機率越大。
server 221.173.80.121:80 weight=3;
server 221.173.80.122:80 weight=2;
server 221.173.80.123:80 weight=3;
}
server {
listen 80;
server_name hlbw.zjlianhua.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://tomcat_server;
}
2、動靜分離
靜態資源,最好不要走tomcat了,這樣速度會快很多,以及可以用快取,比如圖片,視訊,靜態html。
server {
listen 80;
server_name localhost;
root /usr/local/data;
location / {
root html;
index index.html index.htm;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html|mp3)$ #設定訪問靜態檔案直接讀取不經過tomcat
{
proxy_cache cache_one;
proxy_set_header Host $host;
expires 1h;
}
-----------------------------------------
三、注意事項
1、快取同步
各種框架,都有快取同步機制的。標準版的hibernate是用ehcache做快取,是用了RMI的方式。當然,其他框架都是有對應的同步框架的。靠大家分享了。
2、session同步
當時比較偷懶,用nginx的iphash,控制某個ip,固定訪問某一臺伺服器。另外的方式,比如tomcat7以上有提供session同步,springsession等,都可以去學習一下,這個靠各位了。
3、靜態變數同步
因為每臺伺服器存了自己的靜態變數方便呼叫,所以,這部分,在做叢集時,儘量遷移到redis上。否則就要存資料庫中,或者發通知同步就慢了。其他更好的方式,我也沒想到。
相關推薦
tengine做叢集負載的配置和注意事項
tengine是淘寶發起的一個專案,在nginx的基礎上改造的,從配置上來講,跟nginx幾乎一樣的。 我之前在世紀聯華的專案中,做過負載均衡,現在根據當時記錄的資料,現在寫下來。 一、各種安裝 除了tengine的包以外,還需要zlib、openssl、pcre 先
NLB配置步驟和使用負載均衡的注意事項
NLB配置步驟:配置好所有機器內網的網絡卡。ok修改所有機器的hosts檔案。ok修改新伺服器的機器名。ok修改所有機器管理員帳號和密碼,保持一致。ok刪除配置的測試叢集。ok重新建立叢集。ok 測試要點:幾臺機器輪流斷開,看能否正常切換。ok登入網站測試,看能否正常儲存se
1112_maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫]
maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫] 2018年06月13日 17:09:25 個人分類: java 注:這兩天搭建專案時,使用Druid連線池入了不少坑;以此記錄; MySQL Server 5.7.21 + mysql-connector-j
JDK1.7安裝和配置及注意事項
要求 必備知識 windows 7 基本操作。 執行環境 windows 7 下載地址 環境下載 下載JDK 關於版本選擇需要注意的問題: 如果eclipse安裝的是32位的,則JDK也應該裝Windows x86(32位)的;如果ec
箭頭性函式的一些特徵和注意事項
1、typeof運算子和普通的函式一樣 let commFunc = () => {}; console.log(typeof commFunc); 輸出為function。 let arrowFunc = () => {}; console.log(typeof arro
java中介面(interface)及使用方法和注意事項
1、介面:一種把類抽象的更徹底,接口裡只能包含抽象方法的“特殊類”。介面不關心類的內部狀態資料,定義的是一批類所遵守的規範。(它只規定這批類裡必須提供某些方法,提供這些方法就可以滿足實際要求)。 在JAVA程式語言中是一個抽象型別,是抽象方法的集合,介面通常以interface來宣告。一個類通過
mysql索引、主鍵、唯一索引、聯合索引的區別(索引的建立原則和注意事項)
索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索
lua 1 基本語法和注意事項
筆記總結自: http://www.runoob.com/lua/lua-data-types.html 基本資料型別: 資料型別 描述 nil 這個最簡單,只有值nil屬於該類,表示一個無效值(在條件表示式中相當於false)。
0到3個月的寶寶護理重點和注意事項,家長要記住哦
寶寶從出生的那一天開始每個月都是有不同的變化,而且會隨著寶寶的成長,有些月份會新增一些寶寶的相關護理的要點和注意事項。當然不管是哪個月照顧寶寶的任何方面都是需要細心和耐心的,下面相關的一些護理要點僅供家長們參考,畢竟每個寶寶都是獨一無二的,每個家庭在寶寶的養育方面都是不一樣的。 1個月的寶
相機標定中部分疑問和注意事項
相機標定基本知識 對於針孔攝像機模型,一幅檢視是通過透視變換將三維空間中的點投影到影象平面。投影公式如下: 或者 這裡(X, Y, Z)是一個點的世界座標,(u, v)是點投影在影象平面的座標,以畫素為單位。A被稱作攝像機矩陣,或者內參數矩陣。(cx, c
Redis 設定 Key/value 的規則定義和注意事項(附工具類)
對於redis的儲存key/value鍵值對,經過多次踩坑之後,我們總結了一套規則;這篇文章主要講解定義key/value鍵值對時的定義規則和注意事項。 前面一篇文章講了如何定義Redis的客戶端和Dubbo整合儲存器;當我們真正開始開發的時候,就會突然發現,有點不知道如何去定義Redis的K
【異常帖】--- 大資料出現的所有異常,錯誤,和注意事項整理---持續更新.....
一、Ubuntu --> 修改主機名稱之後,要特別主要修改主機和ip的對映(否則會造成java.net.UnknownHostException: 主機名: 主機名的異常,mkdir: Call From java.net.UnknownHostException: s100: s100: u
getch()使用和注意事項!
getch(): 所在標頭檔案:conio.h 函式用途:從控制檯讀取一個字元,但不顯示在螢幕上 函式原型:int getch(void) 返回值:讀取的字元 例如: char ch;或int ch; getch();或ch=getch(); 用getch();會等待你按下任意鍵,再繼續執行下面的語
Redis設定Key/value的規則定義和注意事項(附工具類)
對於redis的儲存key/value鍵值對,經過多次踩坑之後,我們總結了一套規則;這篇文章主要講解定義key/value鍵值對時的定義規則和注意事項。 前面一篇文章講了如何定義Redis的客戶端和Dubbo整合儲存器;當我們真正開始開發的時候,就會突然發現,有點不知道如何去定義Redis的K
三週學會小程式第一講:小程式申請和注意事項
註冊 註冊郵箱 個人申請小程式非常簡單,首先你需要註冊一個全新的郵箱。 當然用你的個人郵箱也可以,小編考慮到後面你可以再次開發自己的小程式,所以這裡還是重新申請一個比較好。網易郵件一個手機號可以申請15個郵箱,是一個不錯的選擇 註冊小程式 進入 https://mp.weixin.qq.com/ 頁面
遞迴概述和注意事項
package cn.itcast_01; /* * 遞迴:方法定義中呼叫方法本身的現象 * * 方法的巢狀呼叫,這不是遞迴。 * Math.max(Math.max(a,b),c); * * public class Test { publ
selenium程式碼和注意事項
import java.util.ArrayList; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.
eventbus 的使用和注意事項
此文不介紹EventBus的基礎使用,只說明使用的時候注意事項,這裡記載我使用的時候遇到的問題 1、後註冊,先發訊息,那麼使用粘性事件 2、可能有多處接受粘性事件,但是不同的事件不要使用同一個類來發送(事件儲存在Map裡,而key是類class),因為粘性事件使用後需要remove掉,而在rem
MQTT3.1.1 使用規範和注意事項
如下是轉載mcxiaoke翻譯的MQTT規範中的比較重要的概括性規範,非常感謝mcxiaoke翻譯並開源給大家使用,原文地址點選這裡獲取。如有侵權,聯絡作者刪除。 表格:MQTT3.1.1 強制性規範宣告 宣告序號 規範宣告 [MQTT-1.5.