亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于阿里云ECS 服務器的項目前端搭建及數據存儲

        2023-09-18 10:19:40李曉宇韓飛馳黃文世許光輝任博文曲中水李秋實
        科技創(chuàng)新與應用 2023年26期
        關鍵詞:阿里消息客戶端

        李曉宇,韓飛馳,黃文世,許光輝,任博文,曲中水*,李秋實

        (1.哈爾濱理工大學 計算機科學與技術學院,哈爾 濱150080;2.大慶市實驗中學,黑龍江 大慶 163711)

        阿里云服務器(Elastic Compute Service,ECS)是一款高效、可靠的云計算服務,其可以為用戶帶來免硬件投入的服務器資源,使用起來更加便捷,同時也能夠幫助用戶構建更加穩(wěn)定、安全的應用,大大提高運維效率,降低IT 成本。ECS 具有性能卓越、穩(wěn)定可靠、彈性擴展的云計算特點。采用阿里云服務器ECS 作為數據存儲平臺,不僅可以有效降低成本,而且還能夠大大提升插座項目的運行效率。

        1 阿里云服務器ECS 的搭建

        1.1 后端與阿里云ECS 服務器連接

        使用阿里云ESC 其內部結構是一臺Linux 系統(tǒng)(centOS7),可安裝MySQL,Tomcat,Redis,Zookeeper 和RabbitMQ,本地電腦通過遠程連接(NaviCat、XShell)在輸入阿里云服務器公網IP 和端口,用戶名和密碼下即可與阿里云服務器連接(前提需在阿里云安全組中添加端口號、IP 和用戶信息)。在SpringBoot 中找到resource.yml,進行數據庫連接的相關配置(如url、username,password 等),如圖1 所示。

        圖1 配置SringBoot 連接ECS 服務器數據庫

        其中server 字段表示程序開啟Tomcat 后網站登錄顯示的服務端口號,此端口號可以為任意號碼,一般默認為8080,由于阿里云ECS 服務器部署了Tomcat后,其安全組中自帶Tomcat 的IP 地址為80,即網站HTTP 服務的端口,因此可通過程序配置對其進行修改為8080/8081,或者在阿里云服務器中使用指令:“iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080”實現對Tomcat 的IO 默認端口進行修改。Database 即為與數據庫連接地址,部署于阿里云中的程序數據庫,一般IP 地址為localhost:1663 即可,若使用服務器公網IP 加端口號,可能會導致數據庫連接不上拋出異常錯誤。

        1.2 前端與后端連接

        Ajax 是一種異步網絡請求處理技術,使用JavaScript 執(zhí)行,能夠在不跳轉、不刷新的狀況下,在網站后臺提供數據信息,并部分修改主頁信息內容。其原理是利用XMLHttp 對象將前臺數據傳遞到后端,后端接受到申請后,將要求的結論傳回前臺,完成數據信息的來回傳送,而無需頁面的回發(fā),從而提高網絡的效率和可靠性。利用這種方式,我們能夠做到無刷新。

        1.2.1 實現流程

        請求XMLHttpRequest 對象,自動打開請求地址并初始化信息,然后,發(fā)出請求信息,監(jiān)聽回調函數的運行情況,最后接收服務器返回的應答結論。

        前端方面通過對操控對象設置IP 號,操控方式(GET/POST),后端使用注解(GetMapper(“IP”)或PostMapper(“IP”))方式,實現后端與前端的連接。若是返回另一頁面,則使用return“指定頁面.xml”進行返回,若是返回數據,則可通過ResultSeason 函數,將返回的主體進行返回,實現后端數據向前端進行傳遞,前端接收數據并顯示,以完成B/S 的基本框架。

        1.2.2 Ajax 優(yōu)點

        采用無刷新的頁面設計,可以有效地與服務器進行通信,大大縮短客戶時間,提升體驗。

        采用異步技術與服務器進行交互,可以大大提高響應速度。

        通過將原本主機上的任務遷移到服務器端,能夠利用服務器端的空閑資金,有效減少主機和服務的負荷,節(jié)儉空間和寬帶租用花費。

        1.2.3 數據可視化

        ECharts 是一個開源的可視化庫,采用JavaScript完成,能夠在PC 和手機機器上順暢執(zhí)行,并且兼容當前大多數網頁和瀏覽器(IE8/9/10/11、Chrome、Firefox、Safari 等),基本依靠矢量圖形庫[ZRender],帶來直接、豐富多彩的交互體驗,為用戶創(chuàng)造一種更加有效的數據可視化顯示方式,能夠根據個人需求定制的數據可視化圖表。

        1.2.4 rem 適配

        為了滿足各種頁面的需求,rem 適配方法被廣泛應用。rem 是一種比較長度單位,能夠在各種寬度的顯示屏上按比例縮放,從而使根元件(即html 元素)的font-size 計算值得到相應的倍率。通過調整html 的font-size,根據各個顯示屏的寬度,以相同的比率動態(tài)調整,并將px 更換為rem,能夠有效地改變根元件的字體大小,從而達到良好的視覺效果,使用戶能夠獲得更加流暢的體驗。

        1.3 消息隊列RabbitMQ

        項目的數據傳輸使用RabbitMQ 來進行消息隊列和消息確認機制[1],RabbitMQ 的本質如圖2 所示。

        圖2 RabbitMQ 原理圖

        RabbitMQ 即為一個中間代理,在生產者發(fā)布消息時,需經過Exchange 交換機,然后根據自身的交換類型以及和Queue 的Binding Key 來決定消息的去向。RabbitMQ 采用TCP 的傳輸機制,即RabbitMQ 支持消息確認ACK。

        ACK 是一種客戶端反饋機制,其從RabbitMQ 收到消息并處理完成后,RabbitMQ 會根據消息的內容和特征,將其從隊列中刪除,以確保消費者能夠及時獲取服務器上的信息。如果消費者因為網絡不穩(wěn)定等原因無法接收到ACK 反饋,RabbitMQ 會將其再次放入隊列中,并將其推發(fā)給其他上線的消費者,以確保消費者服務器故障時,能夠及時獲得有效的幫助和支持,沒有任何消息或任務被遺漏。

        RabbitMQ 支持消息的持久化[2],保證了當Rabbit-MQ 在沒有客戶端訪問時因自動關閉而導致原本消息內容丟失。開啟方法為:

        1)boolean durable = true;

        2)channel.queueDeclare(“hello”,durable,false,false,null);

        除此之外,RabbitMQ 還支持負載均衡,我們使用prefetchcount=1 這個設置,其告訴RabbitMQ,不要一次將多個消息發(fā)送給同一個消費者(即客戶端)。保證只有當消費者處理完成當前消息并反饋后,才會收到另外一條消息或任務,避免負載不均衡(雖然阿里云ESC服務器自帶負載均衡,但是雙重的負載均衡可以二次保護系統(tǒng),防止其崩潰)。

        1.4 Redis 緩存

        Spring Cache 是一種抽象的緩存類型,可以支撐多種類型的緩存,如Redis、EHCache 等,并且可以通過給出各種注解來精簡緩存的應用,從而更好地支撐各種方式。Redis 有5 種數據結構,分別為string,list,set、hash、zset。zset 是一個廣泛應用的有序列表,相似于Java 中的SortedSet 和HashMap,但其內部體現運用了一個更具復雜性的跳躍表構造。這種構造使用隨機策略,可以確定新元素能夠被分配到第幾層。Redis不僅擁有可靠的過期時間,而且還能夠根據不同的數據結構來設置過期時間,例如hash架構的過期時間可能是某個hash 對象的過期,而不僅僅是某個子key 的過期[3]。

        Redis 是一款開源的、采用C 語言的非關系型數據庫,能夠以key-value 的方式儲存信息,這使得其能夠在內存中實現高性能的儲存,與傳統(tǒng)的關系型數據庫有著本質的不同。非關系型數據庫不僅僅是某種數據結構化存儲方法的集合體,還必須遵循一些基本的要求,比如sql 標準、事務處理、表結構等,以確保數據信息的安全性和可靠性。

        Redis 的主要優(yōu)點在于:①數據存儲在內存中,具有極快的存取速度和強大的并發(fā)處理能力。②支持更多的value 類型,包括string、list、set、zset 以及哈希類型,這些類型可以更有效地存儲和管理數據。③Redis的存在,大大補充了Memcached 等key-value 數據庫的缺陷問題,在某些情況下,可以為關系數據庫(如MySQL)提供有效的支持;④Redis 支持數據集群,能夠實現大量數據的主從一致和負荷平衡。主服務器能夠與任意數量的從服務器進行數據交換,而從服務器則能夠與其他主服務器進行連接。

        緩存對于數據庫而言是至關重要的,若大量緩存失效,那么所有的訪問均由數據庫承擔,此現象稱作雪崩。當緩存失效時,會對底層系統(tǒng)造成巨大沖擊。為避免這種情況,許多系統(tǒng)都會采用加鎖或隊列請求的方法來確保數據庫不會被同時讀取。另一種簡單的方法是將緩存的過期日期分散開,比如說加入某個隨機值(1~5 min),以保證每個緩存的過期日期的重疊率大大降低。這樣一來可以有效地減少雪崩效應對底層系統(tǒng)的沖擊,并確保數據庫的安全性。很難有任何集體失效的事件發(fā)生。枷鎖代碼如圖3 所示。

        圖3 枷鎖排隊

        Redis 緩存擊穿是一種常見的數據庫系統(tǒng)故障,它可能是由于存取的key 相應的信息在Redis 中過期,導致大規(guī)模并發(fā)申請無法及時響應,從而導致數據庫系統(tǒng)崩潰。因此,為了避免這種情況的發(fā)生,應該采取有效的措施來防止Redis 緩存擊穿,以確保數據安全,一種常用的方法是采用mutex。這意味著,當緩存失效時,不要立刻訪問數據庫,轉而利用緩存軟件中的一些功能(例如Redis 的SETNX 或Memcache 的ADD)來設置mutex key。返回值為true 時,就可以繼續(xù)使用緩存。

        1.5 Zookeeper

        Zookeeper 是一款開源的分布式程序協(xié)同業(yè)務,像航班調度員一樣幫助管理天空中各個航班的飛機。在Apache Hbase 和Apache Solr 的散布式集群中均用到了Zookeeper。Zookeeper 是HaDoop 項目的一種重要組成部分,他提供了一系列強大的功能,包括分配信息管理、名稱服務、分布式鎖定和集群信息管理等[4]。

        Zookeeper 是一種分布式服務管理架構,以觀察者模型為基礎,負責管理存儲和管理工作所有關注的信息,并接收觀察者的申請。如果上述信息發(fā)生,Zookeeper 將立即告知已登錄的觀察者,以便他們能夠作出適當的反映,以便實施集群中Master/Slave 管理模式。如圖4 所示。

        圖4 Zookeeper 結構

        Zookeeper 的特點:①Zookeeper 是一組由管理者和伴隨者構成的群體,其中管理者負責發(fā)動投票并做出決策,同時也會定期更新系統(tǒng)狀況;伴隨者則負責管理接受用戶請求,并將數據及時反饋給用戶,在選擇管理者的進程中參加表決,以確保操作系統(tǒng)的有效運行。②從同一個client 發(fā)出的更新請求應當按照其發(fā)送順序進行處理,以確保數據的準確性和及時性。③實時性,client 可以在短時間內獲取最新的數據。

        2 結束語

        本文闡述了客戶端以及服務端連接阿里云ECS 服務器數據庫的主要方式,以及客戶端在操作服務器時所用到幾項技術。通過Navicat 的連接,RabbitMQ 的中間處理,Redis 緩存的查詢和負載均衡,json 格式的數據傳輸,http 前端經過js 和Ajax[5]在Tomcat[6]的中間處理下與后端的連接,讓我們可以通過本地遠程連接操控服務器的運行,以及信息的處理,最后將項目程序成品壓縮成war 包放入服務器中,實現自主運行。

        猜你喜歡
        阿里消息客戶端
        云上阿里
        炎黃地理(2021年1期)2021-06-08 00:27:03
        一張圖看5G消息
        辰辰帶你游阿里
        縣級臺在突發(fā)事件報道中如何應用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設計與實現
        電子測試(2018年10期)2018-06-26 05:53:34
        阿里戰(zhàn)略
        阿里是個好榜樣
        消息
        消息
        日韩国产精品一区二区三区 | 亚洲午夜福利在线观看| 久久精品国产99国产精2020丨| 亚洲国产一区二区三区最新| av手机天堂在线观看| 极品一区二区在线视频观看| 色天使综合婷婷国产日韩av| 中文字幕亚洲欧美日韩在线不卡| 8090成人午夜精品无码| 人妻体体内射精一区中文字幕 | 国产国拍亚洲精品永久69| 一区二区日本免费观看| 亚洲精品国产精品乱码视色| 超清精品丝袜国产自在线拍| 国产免费资源高清小视频在线观看 | 亚洲一区二区三区小说| 8av国产精品爽爽ⅴa在线观看| 无码人妻少妇久久中文字幕蜜桃| 亚洲国产精品美女久久久| 国产亚洲精品90在线视频| 亚洲av无码专区在线观看下载| 久久久久亚洲av无码专区网站| 国产xxxxx在线观看免费| 成人综合激情自拍视频在线观看| 国产精品一区二区三区在线蜜桃| 精品人妻午夜一区二区三区四区| 亚洲国产18成人中文字幕久久久久无码av| 久久国产av在线观看| 少妇被爽到高潮喷水免费福利| 国产婷婷色一区二区三区在线| 日韩手机在线免费视频| 在线视频日韩精品三区| 老鲁夜夜老鲁| 亚洲国产av导航第一福利网| 欧美日本视频一区| 中文字幕精品一区二区的区别| 亚洲国产婷婷香蕉久久久久久| 国产福利酱国产一区二区| 日本中文字幕一区二区高清在线| 亚洲av第一区国产精品| 亚洲精品国产美女久久久|