第一天 負載均衡之高並發發送

2021-01-05 凱哥Java

高並發發送:

1處:負載均衡

2處:資料庫

在APP伺服器多臺情況下,如果用戶登錄,session怎麼處理?

本文來源:凱哥Java(kaigejava)

如下圖:

說明:

如果用戶登錄的時候負載到01伺服器上,當用戶在操作其他的時候,如果被負載到02機器上。這個時候02機器上面就沒有當前用戶的session。用戶就會被轉跳到登陸頁面。

解決方案:

1:可以把用戶的session放置到cookie中

優點:解決了session沒有的問題

缺點:session放在了用戶的瀏覽器中,是不安全的

2:可以把用戶的session放置到資料庫中

優點:解決了session沒有的問題

缺點:當用戶量很大的時候,如果把session放置到資料庫中,會造成資料庫壓力過大。從而使資料庫運行不正常

3:可以把用戶的session放在緩存伺服器中

最好的解決的方案是:放在緩存伺服器中。這裡推薦兩種緩存伺服器:memcached、redis

要求:memcached/redis必須是集群

4:tomcat共享session

缺點:當tomcat數量過多的時候及其影響性能。所以不推薦

資料庫並發:

1 要求:隨著業務量的增大,資料庫庫承載能力也要增大

2 數據安全,不能丟失

3 支持備份+容災

高並發解決發展階段:

初級階段:系統或伺服器級別就誒接方案

總結一句話:初級階段懟硬體(伺服器級別)

接著隨著業務量的不斷增加,硬體成本水漲船高。就進入了第二階段:應用級別的解決方案

總結一句話:應用級別處理。

業務量繼續增加:進入第三階段:

增加了應用伺服器的數量,隨之而來的問題又來了。

問題1:用戶訪問ip多了,怎麼解決?

多臺應該伺服器。每臺對應的ip肯定不一樣。

問題2:資料庫出現了瓶頸,怎麼解決?

解決用戶IP多的辦法一:

使用DNS進行解析。

DNS定義:

DNS解析多ip思路:

循環復用DNS。

缺點:

終極解決方案:

負載均衡工作原理分析:

說明:

1:在用戶請求,轉發請求的功能

2:如果這一臺機器掛了

負載均衡服務會不 會繼續把請求轉發給這臺伺服器呢?

答案:不會

3:如果這一臺機器恢復正常了

負載均衡伺服器會不會把它添加回來呢?

答案:會的

三大功能

一:轉發

二:故障移除

三:恢復添加

負載均衡的種類:

1)一種是通過硬體來進行解決,常見的硬體有NetScaler、F5、Radware和Array等商用的負載均衡器,但是它們是比較昂貴的

2)一種是通過軟體來進行解決的,常見的軟體有LVS、Nginx、apache等,它們是基於Linux系統並且開源的負載均衡策略.

相關焦點

  • 企業高並發的成熟解決方案:[2]負載均衡LVS_2
    接著企業高並發的成熟解決方案: 負載均衡LVS_1來,請接著往下看。謝謝!第三步: 通過4臺伺服器的IP,對應的分配負載均衡伺服器,以及APP伺服器負載均衡主機:  192.168.197.131負載均衡備機:  192.168.197.4APP伺服器1:   192.168.197.132APP伺服器2:   192.168.197.133虛擬IP(訪問IP): 192.168.197.100第四步: 開始搭建負載均衡1.
  • Nginx+Tomcat實現高並發場景的動靜分離和負載均衡
    Nginx+Tomcat實現高並發場景的動靜分離和負載均衡 Java服務大多是跑在tomcat裡,但是眾所周知tomcat的並發性能沒有優勢(tomcat8及以上的版本可能有所改善),所以為了更好的適應高並發的應用場景,我們可以使用tomcat+nginx實現動靜分離,在處理靜態請求的時候,就直接給Nginx
  • nginx之負載均衡
    3.反向代理的作用:(1)保證內網的安全,通常將反向代理作為公網訪問地址,Web伺服器是內網(2)負載均衡,通過反向代理伺服器來優化網站的負載三、nginx負載均衡1.什麼是負載均衡 在網際網路早期,業務流量相對比較小,而且業務邏輯比較簡單,單臺伺服器便可以滿足基本的需求;但是隨著網際網路的發展,業務流量越來越大、業務邏輯也越來越複雜,單臺機器的性能問題以及單點問題凸顯了出來,因此需要多臺機器來進行性能的水平擴展以及避免單點故障
  • nginx淺談之負載均衡
    nginx負載均衡一、Nginx反向代理在介紹nginx的負載均衡之前,我們先來介紹nginx的反向代理,因為反向代理用的比較多,所以,這裡我們就不介紹正向代理了。nginx可以處理大量並發連接,請求到來後,nginx可將其轉發給任意數量的後臺伺服器進行處理,這等於將負載均衡分散到整個集群。語法:proxy_pass URL解釋:URL的形式可以如下:http://location:8000/uri/等,可在location中進行配置。
  • 高並發應用場景下負載均衡與故障轉移實踐,SOA負載均衡與實踐
    AgileEAS.NET SOA中間件平臺提供了敏捷快速開發軟體工程的最佳實踐,通過提供大量的基礎支撐功能如IOC、ORM、SOA、分布式體系及敏捷並發開發方法所支撐的插件開發體系,以及提供了大量的實體、數據模型設計生成工具、代碼生成工具,用於幫助中小軟體開發商快速成長。
  • 一篇文章搞定 Nginx 反向代理與負載均衡
    反向代理的用途:隱藏伺服器真實 IP負載均衡通過緩存加速訪問資源提供安全保障  4|0負載均衡  實際生產環境中,反向代理伺服器代理的目標伺服器可能不止一個比如開發好的某個應用部署在一臺 Tomcat 伺服器上,而 Tomcat 的並發上限不優化情況下,默認只有兩百左右,這時候為了解決高並發的問題,就只能選擇更替伺服器或者搭建多臺伺服器通過反向代理與負載均衡的技術解決並發問題。
  • Haproxy負載均衡+Keepalived高可用集群實戰
    ,非常適合於高負載站點的七層數據請求。客戶端通過Haproxy代理伺服器獲得站點頁面,而代理伺服器收到客戶請求後根據負載均衡的規則將請求數據轉發給後端真實伺服器,實現了一種事件驅動、單一進程模型,能支持非常大的並發連接數。
  • 一文理清負載均衡(nginx,LVS)的工作原理
    Nginx 特點是佔有內存少,並發能力強,nginx 的並發能力在同類型的網頁伺服器中表現較好。Nginx 負載均衡Nginx 負載均衡是對七層網絡通信模型中的應用層(HTTP,HTTPS)進行的。>LVS 是四層負載均衡,建立在 OSI 模型的第四層——傳輸層之上,傳輸層有 TCP/UDP,相對於其它高層負載均衡的方法,比如 DNS 域名輪詢解析,應用層負載的調度,客戶端的調度等,它的效率都非常高。
  • 淺談Nginx負載均衡與F5的區別
    目前很多網站或應用在設計之初都會為高並發的數據請求做負載均衡,不差錢的土豪用戶一般會直接買F5硬體設備作為其負載均衡器,原因不用多說,其功能強大,不僅包含負載均衡還包括應用交換、會話交換、狀態監控、智能網絡地址轉換、通用持續性、響應錯誤處理、IPv6網關、高級路由、智能埠鏡像、SSL加速、智能HTTP壓縮、TCP優化、第7層速率整形、內容緩衝、內容轉換、連接加速、高速緩存、Cookie
  • 技巧:負載均衡器上實現客戶端IP限制
    現以A10負載均衡產品AX為例介紹如何實現客戶端IP限制。本文提到所有連接為完整TCP連接或未開啟SYN-Cookie功能時的半連接。關於SYN-Flooding的防護,負載均衡設備均有較強防護能力,本文不做討論。也可以針對伺服器和虛擬伺服器進行總連接數或連接速率限制,也不在本文討論範圍。
  • Nginx反向代理和負載均衡配置
    1.Nginx簡介Nginx 是一個高性能的 Web 和反向代理伺服器,同是也是一個支持IMAP/POP3/SMTP的郵件伺服器,在高連接並發的情況下,Nginx是Apache伺服器不錯的替代品。佔有內存少,並發能力強,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。2.Nginx反向代理首先,nginx能做反向代理,那麼什麼是反向代理呢,舉個慄子,我想在本地使用 172.18.16.3 去訪問 172.18.16.4。那麼這個時候我們就可以通過nginx去實現。再者,nginx能實現負載均衡,什麼是負載均衡呢?
  • 分布式系統的負載均衡 | 架構乾貨
    一、什麼是負載均衡?記得第一次接觸 Nginx 是在實驗室,那時候在伺服器部署網站需要用 Nginx 。Nginx 是一個服務組件,用來反向代理、負載平衡和 HTTP 緩存等。那麼這裡的 負載均衡 是什麼?負載均衡(LB,Load Balance),是一種技術解決方案。
  • 阿里雲負載均衡(SLB)概念介紹
    其實在工作當中,負載均衡這個名字我們耳熟能詳,無論是鏈路級負載還是伺服器級負載,實現這些功能的都統歸為負載均衡設備,例如:F5、Netscaler、Nginx、LVS等,那麼今天的文章圍繞幾個點來展開講解阿里雲的負載均衡產品(SLB)。
  • Array Networks負載均衡解決方案案例
    【IT168 案例】應用優化及全局安全訪問解決方案提供商Array Networks為陝西地稅的稅務系統成功部署了伺服器負載均衡解決方案,使得陝西省地方稅務網絡不再因為用戶訪問量過大而無法及時處理大量並發訪問,實現了系統的網絡優化,大大提升了系統的運行效率和用戶應用體驗,同時還為系統的數據提供了高度的安全保障。
  • 開發掌握Nginx之一:反向代理、動靜分離、負載均衡
    Nginx功能豐富,可作為HTTP Web伺服器,也可作為反向代理負載均衡伺服器,郵件伺服器等。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。並且支持很多第三方的模塊擴展。
  • 美團資深架構師給你講述不一樣的lvs+nginx負載均衡
    負載均衡解決了大量並發訪問服務問題,其目的就是用最少的投資獲得接近於大型主機的性能。4層負載均衡器,4層負載均衡器根據負載策略把client發送的報文目標地址(原來是負載均衡設備的IP位址)修改為後端伺服器(可以是web伺服器、郵件服務等)IP位址,這樣client就可以直接跟後端伺服器建立TCP連接並發送數據。
  • 負載均衡解析與Nginx實戰
    以常見的 TCP 為例,負載均衡設備如果要根據真正的應用層內容再選擇服務伺服器,只能先代理最終的伺服器和客戶端建立連接(三次握手)後,才可能接收到客戶端發送的真正應用層內容的報文,然後再根據報文中的特定自帶,再加上負載均衡設備設置的伺服器選擇方式,決定最終選擇的內部伺服器。
  • Nginx 負載均衡
    負載均衡策略的出現和發展成為緩解上述問題的有效途徑。本文將帶你了解基於 Nginx 實現的負載均衡。什麼是負載均衡負載均衡(Load Balance),它在網絡現有結構之上可以提供一種廉價、有效、透明的方法來擴展網絡設備和伺服器的帶寬,並可以在一定程度上增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性等。
  • 伺服器負載均衡詳談
    伺服器負載平衡市場需求隨著Internet的普及以及電子商務、電子政務的發展,越來越多的應用系統需要面對更高的訪問量和數據量。同時,企業對在線系統的依賴也越來越高,大量的關鍵應用需要系統有足夠的在線率及高效率。
  • 面試刷題35:負載均衡有哪幾種實現方式?
    解決的問題把用戶的請求分發到多臺伺服器(更多的資源),解決高並發的問題。硬體負載均衡成本比較高,並發數在百萬級別,比如F5;軟體負載均衡HTTP重定向負載均衡效率比基於HTTP層的反向代理高。負載均衡過程:1,客戶端請求負載均衡伺服器;2,負載均衡伺服器替換mac地址為計算伺服器,Ip為負載均衡伺服器ip;3, 計算伺服器直接響應數據到客戶端;這種負載均衡方式吞吐量最高,大型網際網路公司都是採用這種負載均衡方式。LVS負載均衡是結合了IP層和數據鏈路層的負載均衡方式。