麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 網絡通信 > 正文

電信級寬帶應用網站并發性承載均衡研究

2019-11-03 09:02:08
字體:
來源:轉載
供稿:網友
張凱 趙剛 金洋 遼寧省通信公司數據通信局


  摘要 當前互聯網寬帶增值服務成為發展熱點,本文從寬帶網站Web應用系統的共性出發,通過系統架構設計,軟件開發,數據庫連接池技術和網絡布置等方面的研究,探討了如何解決Web應用的承載能力問題,并結合遼寧當地網上招考查詢平臺技術情況,介紹了解決并發訪問的經驗。

  關鍵詞 B/S jsp javaBean組件 數據庫連接池 SLB技術

  隨著全球信息產業蓬勃發展,計算機寬帶網絡構成了信息通信的高速公路。有了寬帶的支持,企業的生產水平、服務質量及工作效率都得到了提高,使網上應用成為企業7x24小時開放的“網上營業廳”。但同時由于客戶訪問量不斷增長,使后臺系統的并發承載能力面臨極大的挑戰。客戶端瀏覽器

  結合遼寧通信幾年來網上招考查詢等寬帶應用開展的經驗和電信級的服務要求,我們從應用系統架構設計,軟件開發,數據庫連接池技術和網絡設備的并發承載等幾個方面進行了研究,總結出一套適用于寬帶網站應用建設的解決方案。

1 寬帶應用架構設計

  應用系統的發展經歷了從兩層架構到三層(或多層)架構的過程,在應用系統中通常包含三個邏輯組成部分:表達邏輯、事物邏輯、數據存儲。目前的三層(或三層以上的)B/S架構通常是以Brower/Web server/DataBase形式為主,這可以將表達邏輯分布在客戶瀏覽器上,數據存儲分布在數據庫服務器端,而事務邏輯單獨作為一層,結合在Web服務器(或其它服務器)中。這樣可簡化應用發布和維護,更利于軟件集群化的分擔模式,增加并發處理能力,靈活的完成多主機的分擔切換和相互備份作用,實現了并發性保障。

  按照客戶表達層、事物邏輯處理層和服務器數據存儲層三個方面設計的系統,可根據業務量的多少分配多臺主機,可實現客戶端的簡潔性、系統的邏輯安全性、服務器的負載均衡等特點。遼寧通信在設計網上招考查詢平臺系統時就是按照以上思路進行的。

2 數據存取的并發效率

  數據庫存取訪問是WEB應用系統中的重要操作,又相當消耗資源,是制約整個應用系統效率的關鍵因素之一,這里所說的效率包含兩方面:訪問效率和連接效率。

  訪問效率是指在與數據庫進行數據交換時的效率,我們可以從減少數據訪問次數,增加數據的共享性等方面使訪問效率得以提高;連接效率是指建立數據庫連接的效率,在應用程序中頻繁地進行數據庫連接,是造成數據庫訪問效率低下的重要原因,解決數據庫連接效率問題的思路是:一旦建立數據庫連接,就盡可能地保持這個數據庫連接,在執行完其它操作后再使用這個連接進行數據庫訪問;也可以維護一個可重用的連接池,應用系統一啟動就建立一些數據庫連接,存儲到數據庫連接池,應用程序可以使用這些連接,任務完成后可以把這些連接放回到連接池,供其它應用使用。

2.1 Java Bean并發與訪問效率

  遼寧通信網上招考查詢平臺使用Java Bean方法實現重載,提高了訪問效率。JavaBean(或Bean)是一種具有特定架構的可重用Java組件,Java開發語言中引入用實體Bean組件來處理并發控制問題,基本原理是:其定義了一個抽象級,用來統一所有軟件實體,并且允許每個這樣的實體變成一個組件。通過允許不同來源的獨立代碼在處理方式上“看上去相同”,從而使得Bean能夠實現在Java領域內部的軟件重用。在多個客戶端程序需要同時訪問某一個數據時,數據端不直接訪問實際的數據存儲,而是通過訪問對應的實體Bean的實例來進行,這樣同一數據可以實現多個客戶端同時引用,而在內存中只保留一份實例,避免多客戶端檢索同一記錄時對數據庫的重復操作,提高了應用效率。

2.2 數據庫連接池

  Java的數據庫連接通常利用JDBC(Java Database Connectivity)來做的,JDBC是一個Java擴展API,它為編程者提供了基于SQL查詢的數據訪問能力。但是,通過JDBC連接訪問數據庫服務器的能力,對于電信級應用程序還是不夠的。引入連接池的目的就是改善依賴于數據庫的java服務器代碼的性能和并發性,解決三層架構中的中間層與第三層之間的開銷。

  池(pooling)本質上是一種資源共享形式。連接池不需要每個用戶的請求都經歷一個連接操作的開銷,因為連接池是預先準備好或按照需要動態創建的,并且該連接池由容器(Web容器或EJB容器)管理,同時被容器中所有元素共享,這樣java就不等待數據庫連接。如果一個連接可用,那么該連接立刻就處于準備狀態。如果沒有連接可用,那么將創建一個新連接。這時將會增加由于建立連接所帶來的一些開銷,但在后來的請求中,就又有一個連接添加到連接池中。在最壞的情況下,就是當到達連接池允許的最大連接數時,正在請求的應用就需要等待正在使用的連接釋放并返回到連接池中去。由于大多數數據庫交互都是很短的,這個等待時間不會很長。同樣,連接池也避免了斷開連接所需要的開銷,因為連接是一直打開的。

  基于Web的中間件產品較多,它們都可以實現池的作用,在遼寧通信招考查詢平臺應用中選用WebSphere作為數據庫中間件進行數據庫連接池管理,提高程序效率,利用其自身的管理機制來監視數據庫連接的數量、使用情況等。通常,一個數據庫連接池(ConnectionPool)有以下幾個基本的屬性:

  m_ConnectionPoolSize:連接池中連接數量下限

  m_ConnectionPoolMax:連接池中連接數量上限

  m_ConnectionUseCount:一個連接的最大使用次數

  m_ConnectionTimeout:一個連接的最長空閑時間

  m_MaxConnections:同一時間的最大連接數

  m_timer:定時器

  這些屬性定義了連接池與其中連接的有效狀態值。連接池的自我管理,實際上就是通過定時的對每個連接的狀態、連接的數量進行判斷而進行相應操作。

3 SLB網絡處理技術

  前面介紹的是在軟件開發和數據庫連接方面的并發承載技術。在網絡硬件方面,以往解決并發性問題主要是采用更強計算能力的服務器來替換,舊的服務器被淘汰掉。而單臺服務器的負載能力終歸是有限的,不能無限擴展,同時成本投入也很大。近幾年提出了SLB(Server Load Balance)服務器承載均衡網絡設備解決方案,并日漸成為主流。

  負載分擔的主要手段是將用戶的接入請求分散給多個服務器,一般支持的網絡設備具有四/七層交換功能;我們將負載均衡方法歸納為兩大類型:靜態和動態兩種負載均衡算法,包括:輪詢,比率,優先權,最少連接數,最快響應速度,觀察方法,預測法,動態性能分配,動態服務器補充,服務質量,服務類型,規則模式等等。在工作時根據服務器的狀態采取適當的均衡辦法,例如兩臺Web服務器的CPU利用率分別是25%和50%,則可以按2:1的比例來分配通信量,實現比率(Ratio)負載分擔算法的負載均衡,當某個服務器發生故障,SLB就把其從服務器隊列中拿出,不參加下一次的用戶請求分配,直到其恢復正常。

  遼寧通信網上招考查詢平臺的SLB網絡布置實例是采用哈希算法規則進行處理的,利用Alteon Websystem四層交換機設備做負載分擔控制。

配置過程:

(1)指定ip interface,并分配到相應的Vlan中。

#/cfg/ip/if 1

IP Interface 1# addr 10.10.10.8

IP Interface 1# mask 255.255.255.0

IP Interface 1# ena

IP Interface 1# vlan 1

(2)設置缺省網關

#/cfg/ip/gw 1

Default gateway 1# addr 10.10.10.1

Default gateway 1# ena

Default gateway 2# addr 10.10.10.2

Default gateway 2# ena

(3)定義real server

#/cfg/slb/real 1

Real server 1#rip 10.10.10.3

Real server 1#ena

  按照以上方法再分別定義RealServer2、3、4。

(4)定義相應的real server group組,指定SLB算法為Hash規則模式,并增加realserver1、2、3、4到group組中

#/cfg/slb/group 1

Real serve group 1#metric hash

Real serve group 1#add 1 2 3 4

(5)定義相應的virtual server

#/cfg/slb/virt 1

Virtual server 1# vip 10.10.10.7

Virtual server 1# service http

Virtual Server 1 domain Service#group 1

Virtual Server 1 domain Service#../ena

(6)定義相應的健康檢查策略

#/cfg/slb/group 1

Real server group 1#health tcp

(7)定義相應的端口信息

#/cfg/slb/port 1

SLB port 1# client ena

SLB port 2# client ena

SLB port 3# server ena

SLB port 4# server ena

SLB port 5# server ena

SLB port 6# server ena

4 結束語

  目前各網絡運營商們已開始從單純組網接入服務向網上寬帶增值應用的方向發展,這使得并發性問題在寬帶應用中越來越重要。這里推出的這套解決方案,體現了后臺服務器集群化承載業務的思路,適合電信級服務質量要求。在遼寧地區經受過130多萬人次的高峰期并發訪問,總體性能表現穩定。

參 考 文 獻

[1] 施伯樂等編著,數據庫系統教程,高等教育出版社,1999(2001重印)

[2] 張金濤編著,基于linux的Apache +Jsp+Oracle,清華大學出版社,2002.3

[3] 王軍等譯, JSP編程指南,Simon Brown等著,電子工業出版社,2002.10

[4] RonBen-Natan && Ori Sasson著,熊志輝譯,IBM Websphere application Server實用大全,清華大學出版社, 2003年3月

[5] Sun公司,iPlanet Messaging Server Administrator's Guide,www.sun.com網站發布docs.sun. com/source/816-6013-10

[6] 北電公司,ASW80 Application Guide,電子資料手冊

[7] F5 Networks公司,Technical&&Application Solutions,f5.coa.cn/adm/upload/UIE.pdf

[8] 王磊等譯, Oracle 8/8i 開發使用手冊, 機械工業出版社,2000年

張 凱,男,在遼寧省通信公司數據通信局從事數據業務的集成開發工作。

趙 剛,男,在遼寧省通信公司數據通信局工作,主要從事計算機軟件開發工作。

金 洋,男,在遼寧省通信公司數據通信局工作,主要從事網絡運行維護工作。


----《中國數據通信》

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: av视在线| 欧美城网站地址 | 久久久久久久久日本理论电影 | 一级做a爱片性色毛片高清 日本一区二区在线看 | 最新中文字幕第一页视频 | 天天色综合2 | 毛片在线免费视频 | 99在线啪 | 日韩av电影免费在线观看 | 免费看真人a一级毛片 | 免费国产在线精品 | 免看黄大片aa | 国产一区二区三区四区五区精品 | 操皮视频| bt 自拍 另类 综合 欧美 | 久色porn | 精品一区二区久久久久久按摩 | 成人毛片免费 | 3级毛片 | 一级毛片播放 | 99国产精品自拍 | 羞羞视频2023 | 午夜久久久久 | 麻豆视频观看 | 日本a v免费观看 | 美国人成人在线视频 | 久久99网| 欧美激情精品久久久久久久久久 | 国产精品视频二区不卡 | 久久噜噜噜精品国产亚洲综合 | 1区2区3区在线观看 欧美特黄a | 色偷偷欧美 | 国产亚洲精品久久久久久久 | 精国品产一区二区三区有限公司 | 成av人在线观看 | 久久免费视频在线 | 国产99久久久国产精品下药 | 亚洲国产在 | 久久久久久久久淑女av国产精品 | 毛片视频网站 | 一本一道久久久a久久久精品91 |