網(wǎng)站建設(shè)扁平化深圳百度網(wǎng)站排名優(yōu)化
程序員是新興技術(shù)工種中比較高薪的一個(gè),在互聯(lián)網(wǎng)公司,程序員往往與禿頭,壓力大,找不到女朋友等等掛鉤。
最近,最新技能類榜單出爐,這是一個(gè)關(guān)于程序員自己給自己貼的幾個(gè)標(biāo)簽。
其中,不難看出其中Java一直保持有著不可撼動(dòng)的位置,穩(wěn)定排在第一位,而Python,才僅僅是第八名。
雖然Python僅僅排在了第八名,但是在前沿領(lǐng)域,如AI,Machine learning方向,Python的使用頻率還是遠(yuǎn)遠(yuǎn)高于Java,成為這些細(xì)分領(lǐng)域的鰲頭。
那么,今天我們就一起來看看Python的幾個(gè)安裝包,nginx還有g(shù)unicorn的幾大用法吧~
Nginx
談到gunicorn,首先聯(lián)想到的就是nginx,所以我們從nginx開始講起。
nginx,簡而言之就是一款web反向代理的服務(wù)器。
像apache旗下的tomcat也屬于這種,就是HTTP反向代理服務(wù)器。
類似的服務(wù)器還有很多,如果要論最出名的一個(gè),那還得是ngnix。
說到反向代理,首先就會(huì)想到什么是正向代理。正向代理,顧名思義,就是VPN之類的存在于客戶端的代理。兩者的區(qū)別就在于,一個(gè)是客戶端的代理器,一個(gè)是服務(wù)器端的代理。
ngnix很火的原因主要有兩點(diǎn),一點(diǎn)是關(guān)于高并發(fā)問題的處理,ngnix有著得天獨(dú)厚的優(yōu)勢。
高并發(fā)問題是程序員頭疼的一個(gè)topic,不僅非??简?yàn)人的耐心,而且對技術(shù)知識(shí)的廣泛性有要求。
為了解決系統(tǒng)可以同時(shí)兼具保持高效處理能力和任務(wù)分配能力的同時(shí),還可以靈活上線下線服務(wù)器,高并發(fā)問題正式被命名成為了一個(gè)專業(yè)的問題亟待解決。
ngnix就是解決高并發(fā)問題的一貼良藥,不僅可以解決高并發(fā)帶來的響應(yīng)時(shí)間慢的問題,還解決了吞吐量小的問題,可謂是一舉多得。
gunicorn
而Python旗下的gunicorn,不僅和ngnix類似,可以解決高并發(fā)及其附加問題,而且是僅僅針對linux系統(tǒng)的高效程序。
但是與nginx不同的是,gunicorn是一個(gè)WSGI,意象來講就是一座連接web server 和web app的一座橋梁。而nginx確實(shí)是實(shí)實(shí)在在的web server之一。
gunicorn可以實(shí)現(xiàn)很多功能,最主要的就是他的Pre-fork worker model。
什么是Pre-fork呢?
fork的意思是復(fù)制,Pre fork就是提前復(fù)刻。
這是說,在unicorn的模式下,為了解決高并發(fā)問題中的響應(yīng)時(shí)間和吞吐量等等問題,unicorn會(huì)采取提前復(fù)刻出來一個(gè)進(jìn)程的模式來等待將要進(jìn)來的任務(wù)。
不過,unicorn雖然提供了這樣豐富的特別服務(wù),其實(shí)他也有web server 的普通功能,就像nginx。
可以說,unicorn為linux系統(tǒng)下的高并發(fā)問題提供了一條便利的解決方法。
評論區(qū)的你更喜歡unicorn還是nginx呢?
歡迎留言點(diǎn)贊收藏,我們下期見~