軟體測試--中介軟體介紹

測試人生路發表於2021-01-05

一、Tomcat

1、Tomcat概念

Tomcat 伺服器是一個開源的輕量級Web應用伺服器,在中小型系統和併發量小的場合下被普遍使用,是開發和除錯Servlet、JSP 程式的首選。

2、原理

Tomcat主要元件:伺服器Server,服務Service,聯結器Connector、容器Container。聯結器Connector和容器Container是Tomcat的核心。

一個Container容器和一個或多個Connector組合在一起,加上其他一些支援的元件共同組成一個Service服務,有了Service服務便可以對外提供能力了,但是Service服務的生存需要一個環境,這個環境便是Server,Server元件為Service服務的正常使用提供了生存環境,Server元件可以同時管理一個或多個Service服務。

二、nginx

1、nginx簡介

nginx(發音同engine x)是一款輕量級的Web伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like協議下發行。

nginx的特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同型別的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:百度、京東、新浪、網易、騰訊、淘寶等。

2、nginx的特性與優點

1)nginx的特性

Nginx使用基於事件驅動架構,使得其可以支援數以百萬級別的TCP連線高度的模組化和自由軟體許可證是的第三方模組層出不窮(這是個開源的時代啊~)Nginx是一個跨平臺伺服器,可以執行在Linux,Windows,FreeBSD,Solaris, AIX,Mac OS等作業系統上這些優秀的設計帶來的極大的穩定性
2) nginx的優點

高併發連線:官方測試能夠支撐5萬併發連線,在實際生產環境中跑到2-3萬併發連線數記憶體消耗少:在3萬併發連線下,開啟的10個nginx程式才消耗150M記憶體(15M*10=150M)配置檔案非常簡單:風格跟程式一樣通俗易懂成本低廉:nginx為開源軟體,可以免費使用。而購買F5 BIG-IP、NetScaler等硬體負載均衡交換機則需要十多萬至幾十萬人民幣支援Rewrite重寫規則:能夠根據域名、URL的不同,將HTTP請求分到不同的後端伺服器群組內建的健康檢查功能:如果Nginx Proxy後端的某臺Web伺服器當機了,不會影響前端訪問節省頻寬:支援GZIP壓縮,可以新增瀏覽器本地快取的Header頭穩定性高:用於反向代理,當機的概率微乎其微模組化設計:模組可以動態編譯外圍支援好:文件全,二次開發和模組較多支援熱部署:可以不停機過載配置檔案支援事件驅動、AIO(AsyncIO,非同步IO)、mmap(Memory Map,記憶體對映)等效能優化

3、nginx反向代理

多個客戶端給伺服器傳送的請求,Nginx伺服器接收到之後,按照一定的規則分發給了後端的業務處理伺服器進行處理了。此時~請求的來源也就是客戶端是明確的,但是請求具體由哪臺伺服器處理的並不明確了,Nginx扮演的就是一個反向代理角色。

客戶端是無感知代理的存在的,反向代理對外都是透明的,訪問者並不知道自己訪問的是一個代理。因為客戶端不需要任何配置就可以訪問。

反向代理,“它代理的是服務端”,主要用於伺服器叢集分散式部署的情況下,反向代理隱藏了伺服器的資訊。

三、Apache簡介

Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放原始碼的網頁伺服器,是世界使用排名第一的Web伺服器軟體。它可以執行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等直譯器編譯到伺服器中。

Apache HTTP伺服器是一個模組化的伺服器,源於NCSAhttpd伺服器,經過多次修改,成為世界使用排名第一的Web伺服器軟體。Apache取自“a patchy server”的讀音,意思是充滿補丁的伺服器,因為它是自由軟體,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、效能穩定,並可做代理伺服器來使用。

本來它只用於小型或試驗Internet網路,後來逐步擴充到各種Unix系統中,尤其對Linux的支援相當完美。Apache有多種產品,可以支援SSL技術,支援多個虛擬主機。Apache是以程式為基礎的結構,程式要比執行緒消耗更多的系統開支,不太適合於多處理器環境,因此,在一個Apache Web站點擴容時,通常是增加伺服器或擴充群集節點而不是增加處理器。

四、Lighttpd

最流行的Apache伺服器替代者,Lighttpd是一個單執行緒的針對大量持續連線做出專門優化的Web伺服器(這正是多數高流量網站和應用程式需要的)。眾多的流行Web站點選擇Lighttpd,包括Youtube、SourceForge和維基百科。Lighttpd支援FastCGI、HTTP伺服器端壓縮、mod-rewrite和其他眾多有用的功能。儘管Lighttpd擁有Apache的絕大多數功能,但它仍然保持輕量級(僅1MB)並且可以與Apache使用相同的配置。

五、kangle

kangleweb伺服器(簡稱:kangle)是一款跨平臺、功能強大、安全穩定、易操作的高效能web伺服器和反向代理伺服器軟體。除此:kangle也是一款專為做虛擬主機研發的web伺服器。實現虛擬主機獨立程式、獨立身份執行。使用者之間安全隔離,一個使用者出問題不影響其他使用者。安全支援php、asp、asp·net、java、ruby等多種動態開發語言。

六、Boa

很多的網站管理員對在硬體配置較低的伺服器上使用輕量級的Boa作為Web伺服器極其信賴。Boa是一個單執行緒的HTTP伺服器,這意味著Boa只能依次完成使用者的請求而不會fork新的程式來處理併發請求。Boa的設計目的是速度和安全,對於執行於單伺服器的流行Web站點而言,Boa是一個好的選擇。

七、Jigsaw

Jigsaw是W3C推出的開源的Web伺服器平臺,使用Java語言編寫,可以安裝在有Java執行環境的系統上。做為W3C(World Wide Web Consortium)開發的伺服器產品,其作用主要是對新技術的實現做一個例示,而非一個全功能的商業伺服器產品。不過就Jigsaw 2.0版本而言,它的功能還是超過了Web伺服器的平均水平。最重要的是,它體現了未來HTTP協議和基於物件的Web伺服器技術的發展。如果你希望你的平臺支援所有下一代技術,Jigsaw是一個好的選擇。

介面測試和介面文件生成工具:apipost

相關文章