1. 程式人生 > >tengine做叢集負載的配置和注意事項

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

位運算子的基本使用注意事項

                                      &n

箭頭性函式的一些特徵注意事項

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.