国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站用什么語言最好seo優(yōu)化設(shè)計(jì)

做網(wǎng)站用什么語言最好,seo優(yōu)化設(shè)計(jì),南京網(wǎng)站建設(shè)招標(biāo),做微博類的網(wǎng)站難嗎CommandLineRunner接口的run方法 什么是多級緩存? 多級緩存就是充分利用請求處理的每個環(huán)節(jié),分別添加緩存,減輕Server端的壓力,提升服務(wù)性能。 一級緩存:1.CDN:內(nèi)容分發(fā)網(wǎng)絡(luò) 二級緩存:2.NGINX+Lua腳本+OpenResty服務(wù)器 負(fù)載均衡反向代理【靜態(tài)和轉(zhuǎn)發(fā)】 三級緩存:J…

CommandLineRunner接口的run方法

什么是多級緩存?

多級緩存就是充分利用請求處理的每個環(huán)節(jié),分別添加緩存,減輕Server端的壓力,提升服務(wù)性能。

一級緩存:1.CDN:內(nèi)容分發(fā)網(wǎng)絡(luò)

二級緩存:2.NGINX+Lua腳本+OpenResty服務(wù)器 負(fù)載均衡反向代理【靜態(tài)和轉(zhuǎn)發(fā)】

三級緩存:JVM進(jìn)程緩存【本地緩存Caffeine】

四級緩存:Redis緩存

五級緩存:Mysql集群+主從復(fù)制

Mysql

現(xiàn)在是Caffeine===》(程序)====》Redis===》(cannel 阿里現(xiàn)成的工具 監(jiān)聽mysql)===》Mysql

那這個程序怎么實(shí)現(xiàn)對redis的監(jiān)聽?

沒有什么是加一層不能解決的【公共管理層】。

亮點(diǎn)+難點(diǎn)

1.自定義本地緩存初始化配置-咖啡因【CommandLineRunner】

2.自定義緩存控制器,用來制衡遠(yuǎn)程redis緩存和本地緩存localCacheCaffeine【這個就是所謂的公共管理層】

3.遠(yuǎn)程redis監(jiān)聽程序 健康度檢查

4.斷線重連

數(shù)據(jù)同步策略?

高可用+分布式數(shù)據(jù)最終一致性回答思路。

多種策略共存

1.設(shè)置有效期【緩存擊穿】

給緩存設(shè)置有效期,到期后自動刪除,再次查詢后更新。

對數(shù)據(jù)的即時性沒有嚴(yán)格要求的應(yīng)用場景,如一些只需要每天更新一次的報(bào)告數(shù)據(jù)。

優(yōu)點(diǎn):簡單方便

缺點(diǎn):時效性差,緩存過期之前可能不一致。

場景:更新頻率低,時效性要求低的場景

2.同步雙寫

在修改數(shù)據(jù)庫的同時,直接修改緩存

優(yōu)點(diǎn):時效性強(qiáng),緩存與數(shù)據(jù)庫強(qiáng)一致

缺點(diǎn):有代碼侵入,耦合度高

場景:對一致性、時效性要求較高的緩存數(shù)據(jù)

3.異步通知

修改數(shù)據(jù)庫時發(fā)送事件通知,相關(guān)服務(wù)監(jiān)聽到通知后修改緩存數(shù)據(jù)。

優(yōu)勢:低耦合,可以同時通知多個緩存服務(wù)

缺點(diǎn):時效性一半,可能存在中間不一致狀態(tài)

場景:時效性要求一般,有多個服務(wù)需要同步

1.基于MQ消息

2.基于Canal的通知

3.自己寫中間件

這個業(yè)務(wù)庫后面再加一層DTS,然后通過監(jiān)聽實(shí)時分發(fā)給下游消費(fèi),不然直接在業(yè)務(wù)庫監(jiān)聽,大批量物理操作或者敏感數(shù)據(jù)鏈路可以在新的DTS處理,這樣相當(dāng)于把業(yè)務(wù)徹底隔離開。

在數(shù)據(jù)庫和其他系統(tǒng)組件之間增加一個中間層來處理數(shù)據(jù)同步。這個中間層可以實(shí)時監(jiān)聽數(shù)據(jù)庫變更,并將這些變更分發(fā)給下游的消費(fèi)者(如緩存服務(wù))。這樣做的好處包括:

  • 隔離業(yè)務(wù)邏輯和數(shù)據(jù)同步邏輯:保證業(yè)務(wù)數(shù)據(jù)庫的操作不受緩存同步邏輯的影響,以此提高業(yè)務(wù)數(shù)據(jù)庫的性能和穩(wěn)定性。
  • 處理大批量操作:對于大批量的數(shù)據(jù)庫操作,可以在DTS層進(jìn)行處理,避免直接在業(yè)務(wù)數(shù)據(jù)庫上產(chǎn)生大量負(fù)載。
  • 處理敏感數(shù)據(jù):對于敏感數(shù)據(jù),可以在DTS層進(jìn)行必要的數(shù)據(jù)篩選和脫敏處理,然后再分發(fā)到下游。

將業(yè)務(wù)邏輯和數(shù)據(jù)同步邏輯隔離開,可以讓系統(tǒng)的各個部分更加專注于它們自己的職責(zé),提高系統(tǒng)的可維護(hù)性和擴(kuò)展性。同時,這種架構(gòu)設(shè)計(jì)還可以增強(qiáng)系統(tǒng)對高并發(fā)和高可用性的支持。

背景

假設(shè)你有一個在線電商平臺,該平臺的用戶可以瀏覽商品、下訂單、寫評論等。這個平臺的后端使用一個MySQL數(shù)據(jù)庫來存儲所有的業(yè)務(wù)數(shù)據(jù),比如用戶信息、商品信息、訂單記錄等。

場景

隨著電商平臺的快速增長,你發(fā)現(xiàn)以下問題:

  1. 高峰時段,大量用戶下單導(dǎo)致數(shù)據(jù)庫寫入操作頻繁,影響了數(shù)據(jù)庫的性能。
  2. 你想實(shí)現(xiàn)一個實(shí)時推薦系統(tǒng),該系統(tǒng)需要基于用戶的最新交互數(shù)據(jù)來更新推薦內(nèi)容。
  3. 為了提升性能,你決定使用緩存服務(wù)來減少數(shù)據(jù)庫的讀取壓力。

問題

直接在業(yè)務(wù)數(shù)據(jù)庫上實(shí)現(xiàn)這些功能會有以下問題:

  • 數(shù)據(jù)庫可能會因?yàn)樘幚泶罅康耐健⒆x寫操作而成為性能瓶頸。
  • 如果直接在業(yè)務(wù)庫上監(jiān)聽數(shù)據(jù)變更,任何監(jiān)聽過程中的延遲或錯誤都可能直接影響到主業(yè)務(wù)的穩(wěn)定性和性能。

DTS層的引入

為了解決上述問題,你決定引入一個DTS層;這個DTS層可以理解為一個中間件或服務(wù)平臺,它的角色如下:

  • 數(shù)據(jù)同步:DTS層監(jiān)聽業(yè)務(wù)數(shù)據(jù)庫的變更(例如使用Binlog監(jiān)聽MySQL的變更)。當(dāng)有新的訂單產(chǎn)生時,DTS層捕獲這個變更事件。
  • 數(shù)據(jù)分發(fā):DTS層將捕獲的事件發(fā)送給其他感興趣的系統(tǒng)或服務(wù),比如緩存更新服務(wù)、搜索索引服務(wù)、實(shí)時推薦系統(tǒng)等。
  • 數(shù)據(jù)處理:在分發(fā)之前,DTS層可以對數(shù)據(jù)進(jìn)行必要的加工處理,例如數(shù)據(jù)清洗、轉(zhuǎn)換格式、脫敏等。

例子

  1. 訂單服務(wù):當(dāng)用戶下單時,訂單服務(wù)將訂單信息寫入數(shù)據(jù)庫。
  2. DTS層捕獲變更:DTS層監(jiān)聽到訂單表有新的記錄,它捕獲了這個變更事件。
  3. 實(shí)時推薦系統(tǒng)更新:DTS層將訂單信息發(fā)送給實(shí)時推薦系統(tǒng),該系統(tǒng)根據(jù)新的訂單更新用戶的推薦列表。
  4. 緩存服務(wù)同步:DTS層同時通知緩存服務(wù),讓其更新相關(guān)的用戶信息緩存,以確保其他用戶看到的是最新的訂單信息。

好處

  • 業(yè)務(wù)邏輯與數(shù)據(jù)同步解耦:業(yè)務(wù)數(shù)據(jù)庫只需關(guān)注數(shù)據(jù)的存儲和業(yè)務(wù)邏輯處理,而DTS層負(fù)責(zé)數(shù)據(jù)的同步和分發(fā),避免了直接在業(yè)務(wù)庫上額外增加處理負(fù)擔(dān)。
  • 提高性能:DTS層可以批量處理和優(yōu)化數(shù)據(jù)同步過程,減輕業(yè)務(wù)數(shù)據(jù)庫的壓力。
  • 增強(qiáng)安全性和隱私:DTS層可以對敏感數(shù)據(jù)進(jìn)行脫敏處理,確保在傳輸過程中不泄露用戶隱私。
  • 靈活性:可以根據(jù)需要為不同的下游系統(tǒng)定制數(shù)據(jù)分發(fā)和處理邏輯。

通過引入DTS層,電商平臺的架構(gòu)變得更加健壯和可擴(kuò)展,能夠更好地應(yīng)對高并發(fā)場景,并為用戶提供更加快速和個性化的服務(wù)。

設(shè)計(jì)多級緩存【如果redis數(shù)據(jù)量特別大 就不適合咖啡因了】

我們將進(jìn)程內(nèi)緩存與分布式緩存服務(wù),結(jié)合有效分?jǐn)倯?yīng)用壓力。在java應(yīng)用層面,只有本地緩存Caffeine的緩存不存在時,再去redis分布式緩存獲取,如果Redis也沒有此數(shù)據(jù)再去數(shù)據(jù)庫查詢。數(shù)據(jù)查詢成功后,對redis與Caffeine同時進(jìn)行雙寫更新。這樣java應(yīng)用下一次再查詢相同數(shù)據(jù)時,直接從本地Caffeine緩存獲取,不再產(chǎn)生新的網(wǎng)絡(luò)通信,應(yīng)用查詢性能得到顯著提高。

1.先調(diào)用set

http://aloenet.com.cn/news/39342.html

相關(guān)文章:

  • 陜西 汽車 網(wǎng)站建設(shè)網(wǎng)頁制作源代碼
  • 商城開發(fā)價格服務(wù)企業(yè)網(wǎng)站優(yōu)化服務(wù)公司
  • 移動網(wǎng)站制作價格安裝百度到手機(jī)桌面
  • 網(wǎng)站是先解析后備案嗎免費(fèi)投放廣告平臺
  • 大片播放網(wǎng)站seo百度發(fā)包工具
  • 鄭州制作網(wǎng)站新站整站快速排名
  • 獨(dú)立網(wǎng)站怎么做推廣google chrome download
  • 網(wǎng)站開發(fā)的前端框架有哪些口碑營銷的案例及分析
  • 視頻網(wǎng)站怎么做算法上海seo外包公司
  • 做搜狗網(wǎng)站優(yōu)化南京seo推廣
  • 定州網(wǎng)站建設(shè)公司最新網(wǎng)絡(luò)營銷方式有哪些
  • wordpress簡介怎么改東莞seo收費(fèi)
  • 手把手教做網(wǎng)站做國外網(wǎng)站
  • 順德網(wǎng)站制作seo課程培訓(xùn)要多少錢
  • 做網(wǎng)站一個月能掙多少錢網(wǎng)絡(luò)營銷師證書含金量
  • 深圳網(wǎng)站優(yōu)化團(tuán)隊(duì)長春網(wǎng)站優(yōu)化服務(wù)
  • html可視化編輯軟件東莞網(wǎng)站優(yōu)化公司哪家好
  • 做網(wǎng)站用哪個軟件寫比較好免費(fèi)優(yōu)化網(wǎng)站
  • 雄縣網(wǎng)站建設(shè)免費(fèi)海報(bào)模板網(wǎng)站
  • 網(wǎng)站備案后可以更換域名嗎網(wǎng)絡(luò)營銷是學(xué)什么
  • 濟(jì)南網(wǎng)站優(yōu)化公司拼多多seo是什么意思
  • 360網(wǎng)站建設(shè)公司哪家好查詢關(guān)鍵詞網(wǎng)站
  • 哈爾濱網(wǎng)站建設(shè)資海海外市場推廣做什么的
  • 中學(xué)網(wǎng)站管理系統(tǒng)下載不受限制的搜索引擎
  • 邯鄲做網(wǎng)站優(yōu)化百度網(wǎng)盤手機(jī)app下載安裝
  • 寶雞營銷型網(wǎng)站開發(fā)信息流優(yōu)化師工作內(nèi)容
  • 深喉嚨企業(yè)網(wǎng)站系統(tǒng)網(wǎng)絡(luò)營銷渠道策略有哪些
  • 男男互做網(wǎng)站泰國推廣網(wǎng)站有效的方法
  • 網(wǎng)站建設(shè)合同有效期河北網(wǎng)站seo外包
  • 手機(jī)購買網(wǎng)站源碼軟文推廣怎么寫