<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Java實現(xiàn)百萬并發(fā)(整理)

          共 4772字,需瀏覽 10分鐘

           ·

          2021-03-20 10:11

          點擊上方藍(lán)色字體,選擇“標(biāo)星公眾號”

          優(yōu)質(zhì)文章,第一時間送達(dá)

          76套java從入門到精通實戰(zhàn)課程分享

          1 初始架構(gòu)圖

          在一般的傳統(tǒng)架構(gòu)中,包括反向代理實現(xiàn)負(fù)載均衡,搭建緩存服務(wù)器實現(xiàn)減少數(shù)據(jù)庫訪問壓力,實現(xiàn)數(shù)據(jù)庫的讀寫分離和搭建主從關(guān)系實現(xiàn)數(shù)據(jù)庫的高可用,通過如上圖的搭建下的項目系統(tǒng),基本實現(xiàn)了處理高并發(fā)的框架,下面來一個一個介紹一下。


          2 反向代理

          2.1 反向代理概念

          反向代理服務(wù)器位于用戶與目標(biāo)服務(wù)器之間,但是對于用戶而言,反向代理服務(wù)器就相當(dāng)于目標(biāo)服務(wù)器,即用戶直接訪問反向代理服務(wù)器就可以獲得目標(biāo)服務(wù)器的資源。同時,用戶不需要知道目標(biāo)服務(wù)器的地址,也無須在用戶端作任何設(shè)定。反向代理服務(wù)器通常可用來作為Web加速,即使用反向代理作為Web服務(wù)器的前置機(jī)來降低網(wǎng)絡(luò)和服務(wù)器的負(fù)載,提高訪問效率。


          特點:

          1.反向代理服務(wù)器是位于用戶和目標(biāo)服務(wù)器之間的.

          2. 用戶以為反向代理服務(wù)器就是真實的服務(wù)器. 用戶不知道真實的服務(wù)器到底是誰.

          3. 反向代理服務(wù)器保護(hù)服務(wù)端信息,稱之為服務(wù)器端代理.


          代理存在的原因: 用戶由于某種原因無法直接訪問目標(biāo)服務(wù)器,完成指定的功能.


          2.2 正向代理

          2.2.1 正向代理介紹

          正向代理,意思是一個位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端。客戶端才能使用正向代理。


          特點:

          1.代理服務(wù)器位于用戶與服務(wù)器之間

          2.用戶請求時,非常明確目標(biāo)服務(wù)器到底是誰. 服務(wù)器不清楚到底是誰訪問的我.以為是代理服務(wù)器直接發(fā)起的請求.

          3.正向代理服務(wù)器保護(hù)了用戶的信息,所以稱之為客戶端代理.

          2.2.2 關(guān)于代理總結(jié)

          1.反向代理是服務(wù)器端代理. 只要用戶訪問服務(wù)器,其實都是反向代理機(jī)制. 實現(xiàn)業(yè)務(wù)調(diào)用

          2.正向代理是客戶端代理.主要用戶上網(wǎng)就就使用正向代理 實現(xiàn)的是網(wǎng)絡(luò)通信頭 網(wǎng)穿工具 夜神模擬器/花生殼


          2.3 Nginx

          2.3.1 Nginx服務(wù)器介紹

          Nginx是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行。其特點是占有內(nèi)存少,并發(fā)能力強(qiáng),事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。

          特點:

          1.占用內(nèi)存少 2M tomcat啟動 200M左右

          2.并發(fā)能力強(qiáng) 5萬/秒 實際2-4萬/秒


          2.3.2 Nginx安裝使用

          WIN10安裝

          1).啟動Nginx nginx啟動會生成2個進(jìn)程項

          1.主進(jìn)程 主要的作用是提供反向代理服務(wù)的. 在關(guān)閉主進(jìn)程 內(nèi)存大的

          2.守護(hù)進(jìn)程 防止主進(jìn)程意外關(guān)閉的. 先關(guān)閉守護(hù)


          2.3.3 Nginx命令

          工作目錄說明: 要求在nginx.exe所在的根目錄中執(zhí)行

          1.啟動命令

          start nginx Linux ./nginx

          2.重名命令

          nginx -s reload Linux: ./nginx -s reload

          3.關(guān)閉命令

          nginx -s stop Linux: ./nginx -s stop


          2.3.4 Nginx反向代理原理

              1.入門案例說明: http://localhost:80

              2.配置項

          http{
           server {      #服務(wù)1
             listen       80;
             server_name  localhost;   
              location / {
              #root   html;   
              root    D:/jt_images;
              index    index.html;
             }
           }

           server {      #服務(wù)1
             listen       80;
             server_name  xxxxxx;       #服務(wù)名稱不能重復(fù)
              location / {
              #root   html;   
              root    D:/jt_images;
              index    index.html;
             }
           }
          }

          2.3.5 編輯hosts文件

          作用: 實現(xiàn)本地域名與IP地址的映射

          路徑:


          2.3.6 修改HOSTS文件

          2.4 實現(xiàn)域名代理

          2.4.1 需求說明

          需求: 要求用戶通過 http://manage.smilefit.shop 訪問localhost:8091的服務(wù)器.

          實現(xiàn)方式: 利用反向代理機(jī)制實現(xiàn)


          2.4.2 配置nginx

          #2.配置后端服務(wù)器 manage.jt.com:80  localhost:8091
          server {
           listen 80;
           server_name manage.smilefit.shop;

           location / {
            #發(fā)起url請求地址
            proxy_pass http://localhost:8091;
           }
          }

          2.5 Nginx實現(xiàn)tomcat集群部署

          2.5.1 集群搭建原理


          2.5.2 動態(tài)展現(xiàn)端口號


          2.6 Nginx負(fù)載均衡

          2.6.1 輪詢策略

          說明: 根據(jù)配置文件的順序,依次訪問服務(wù)器.


          2.6.2 權(quán)重策略

          說明: 讓性能更優(yōu)的服務(wù)器處理更多的用戶請求.


          2.6.3 IPHASH策略

          需求: 需要將用戶與某臺服務(wù)器進(jìn)行綁定.

          原理:

          缺點:


          容易造成負(fù)載不均現(xiàn)象.

          如果IP地址與用戶綁定在一起,如果tomcat服務(wù)器宕機(jī),則直接影響用戶.

          IPhash實用場景:一般進(jìn)行壓力測試時使用.


          2.7 Nginx高級屬性

          2.7.1 down屬性

          說明:如果服務(wù)器宕機(jī),則可以通過down屬性進(jìn)行標(biāo)識,被標(biāo)識的服務(wù)器則不會再為用戶提供支持.


          2.7.2 backup 屬性

          備用機(jī)的設(shè)定. 一般條件下備用機(jī)不干活的,但是當(dāng)主機(jī)遇忙時,或者主機(jī)宕機(jī)時,才會訪問備用機(jī).


          2.7.3 tomcat服務(wù)器高可用

          說明:如果人為的添加down屬性 效率不高, 能否自動的檢測服務(wù)器是否宕機(jī),如果宕機(jī),能否自動的標(biāo)識為down.


          注冊中心實現(xiàn)原理:

          1.當(dāng)服務(wù)器啟動時,會將服務(wù)器的狀態(tài)(服務(wù)名稱/IP/端口)一起寫入注冊中心

          2.注冊中心接受到服務(wù)器信息時,會動態(tài)的維護(hù)服務(wù)列表數(shù)據(jù)

          3/4.當(dāng)客戶端(消費者)啟動時,首先會鏈接注冊中心,獲取所有的服務(wù)列表數(shù)據(jù),并且將服務(wù)列表數(shù)據(jù)保存到本地

          5.當(dāng)消費者執(zhí)行業(yè)務(wù)時,如果有多個服務(wù)的生產(chǎn)者時,采用負(fù)載均衡的思想挑選其中的一個服務(wù)進(jìn)行訪問(RPC).

          6.當(dāng)服務(wù)器發(fā)生宕機(jī)時,由于注冊中心有心跳檢測機(jī)制,所有會動態(tài)的維護(hù)服務(wù)列表數(shù)據(jù).會全網(wǎng)廣播通知所有的客戶端(消費者)更新服務(wù)列表數(shù)據(jù). 在更新服務(wù)列表時,數(shù)據(jù)的同步會陷入阻塞的狀態(tài).


          關(guān)于微服務(wù)思想負(fù)載均衡

          集中式負(fù)載均衡

          說明:所有的請求都必須由某個服務(wù)器進(jìn)行統(tǒng)一的管理

          案例:Nginx是集中式的負(fù)載均衡


          4 Dubbo框架介紹

          提供了六大核心能力:面向接口代理的高性能RPC調(diào)用,智能容錯和負(fù)載均衡,服務(wù)自動注冊和發(fā)現(xiàn),高度可擴(kuò)展能力,運(yùn)行期流量調(diào)度,可視化的服務(wù)治理與運(yùn)維。


          4.2 Dubbo 入門案例

          4.2.1 導(dǎo)入jar包

          <!--引入dubbo配置 -->
                  <dependency>
                      <groupId>com.alibaba.boot</groupId>
                      <artifactId>dubbo-spring-boot-starter</artifactId>
                      <version>0.2.0</version>
                  </dependency>

          4.2.1 導(dǎo)入項目


          4.3 關(guān)于入門案例說明

          4.3.1 定義接口

          1)項目結(jié)構(gòu)


          2)定義接口


          4.3.2 服務(wù)生產(chǎn)者


          4.3.3 服務(wù)消費者

          4.3.3.1 編輯消費者的接口文件


          4.3.3.2 編輯服務(wù)消費者的yml文件


          單點登錄實現(xiàn)步驟:

          1.用戶通過用戶名和密碼訪問web服務(wù)器

          2.web服務(wù)器通過sso校驗用戶名和密碼是否正確。

          3.如果用戶名和密碼正確,則將數(shù)據(jù)保存到redis仲,TICKET密鑰:USERJSON,之后將密鑰返回給用戶即可

          4.web服務(wù)器將密鑰信息保存到用戶的Cookie中 并且設(shè)定cookie的共享/有效時間

          ————————————————

          版權(quán)聲明:本文為CSDN博主「Ch-Ang」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

          原文鏈接:

          https://blog.csdn.net/weixin_42770603/article/details/111152366





          鋒哥最新SpringCloud分布式電商秒殺課程發(fā)布

          ??????

          ??長按上方微信二維碼 2 秒





          感謝點贊支持下哈 

          瀏覽 70
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91视频免费看 | 一级黄色片在线观看 | 啪啪视频入口 | 天天干天天日天天草 | 日本一级婬片A片免费播放一 |