chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Redis實戰(zhàn)的常見問題和解決方法

汽車玩家 ? 來源:今日頭條 ? 作者:今日頭條 ? 2020-05-03 18:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、前言

小伙伴們對Redis應該不陌生,Redis是系統(tǒng)必備的分布式緩存中間件,主要用來解決高并發(fā)下分擔DB資源的負載,從而提升系統(tǒng)吞吐量。

Redis支持多種數據類型,String(字符串)、list(列表)、hash(哈希)、set(集合)、zset(有序集合),不同的類型可以應用到不同的業(yè)務需求中。

Redis的集群部署也增強了Redis的高可用性,以及對數據的易擴容。

上面都是Redis知識掌握的重點,這些知識點也是我們工作的時候,經常用到的,網上介紹的也挺多,老顧就不介紹了。

今天老顧分享Redis企業(yè)應用,從業(yè)務實戰(zhàn)的緯度,看看我們平時使用Redis出現(xiàn)了什么問題?如何去解決?

二、Redis集群劃分

現(xiàn)在我們企業(yè)中,做的項目產品肯定不止一個;或者一個大的平臺中,會有很多業(yè)務線。不同的項目和業(yè)務線肯定是不同的團隊進行開發(fā)的。那大家都會用到Redis,那怎么去劃分?

獨立Redis集群

這種方案就是不同的業(yè)務用不同的Redis集群,這種方案針對一些小項目或業(yè)務線不復雜,以及用到Redis緩存范圍不大的話,是對服務器資源的浪費,而且增加了運維的工作量。

當然也有好處,就是Redis資源的獨立性,不干擾;一般會用在大項目中。

公共Redis集群

這種方案就是一些業(yè)務共用一個Redis集群,增強了對Redis資源的利用率。

三、問題

在一般企業(yè)中,不同的業(yè)務線一般我們采用的是公共Redis集群,因為業(yè)務線都不大,獨立集群沒有必要。這樣雖然對Redis資源充分利用了,但會出現(xiàn)一些問題。

四、如何區(qū)分業(yè)務

多業(yè)務間用Redis,會出現(xiàn)很多緩存Key,根本沒法知道哪些key是屬于哪個業(yè)務的,如:

KEY: user:1000、user:book、book、user:like:book、book:user;甚至會出現(xiàn)key沖突。

Redis的key在開發(fā)的使用是要合理進行設計規(guī)劃的,但兩個不同的團隊,技術和管理都不一樣,即使有規(guī)范文檔,但不同的業(yè)務團隊間,規(guī)范的執(zhí)行就不得而知。

五、如何優(yōu)雅擴容

我們在開發(fā)web服務時,會用類似jedis客戶端連接Redis服務器,會在配置文件中加入Redis集群地址。不過當系統(tǒng)遇到Redis負載太高,或者redis的數據需要擴容,就需要增加Redis服務器。這時就需要重新把配置文件中的Redis集群更改,再重啟應用。

上面的方式是否太low了,都需要重新啟動應用,那么多的應用都需要重啟,是不是很麻煩,而且如果在無法區(qū)分業(yè)務的情況下,還不知道重啟哪些業(yè)務應用。

六、如何發(fā)現(xiàn)異常

因為不同的業(yè)務,不同的團隊,不同的開發(fā)人員在真實業(yè)務場景中,我們管理者是無法避免bug存在的,也無法預測線上會發(fā)生什么樣的問題?如:發(fā)現(xiàn)Redis集群有不穩(wěn)定情況,cpu負載非常高,那我們怎么知道是哪個業(yè)務導致的呢?

這個是非常重要的,因為這個是公共的Redis集群,一旦這個集群掛了,會影響整個業(yè)務。

七、如何截斷異常

當我們在生產環(huán)境中,發(fā)現(xiàn)異常是由哪個業(yè)務產生時,或者是哪個應用服務器產生的,那如何很快速截斷的讓有問題的業(yè)務和應用服務器,先不讓他們訪問我們公共Redis集群,等排查出原因在恢復他們的訪問權限。

八、解決方案

小伙伴看到這里,感覺怎么樣?是不是工作中,沒有想過這些問題,工作中就直接按照網上的介紹先拿來用了。

現(xiàn)在是不是心里在想,怎么去解決上面的問題?

老顧這里介紹一下解決思路,具體整個代碼等老顧的開源項目rb-cache上線后,會分享給大家。

九、區(qū)分業(yè)務

這個問題解決相對比較簡單,就是對我們現(xiàn)有的客戶端工具,進行二次封裝,

Redis實戰(zhàn)的常見問題和解決方法

上圖就是定義一個二次封裝接口

Redis實戰(zhàn)的常見問題和解決方法

其實原理就是強制在方法中,要開發(fā)人員賦予業(yè)務區(qū)分,每個業(yè)務都是在開發(fā)前,管理人員定下來的,這個管理就比較簡單了。

如果項目管理中,對業(yè)務的劃分比較合理的話,可以在外面再封裝一個簡單的方法,把business業(yè)務放在配置文件中,這樣就不需要每次都要傳business這個參數了。

十、優(yōu)雅擴容

解決這個問題,其實原理比較簡單,就是程序如果能夠知道Redis集群地址產生了變化,重新設置一下jedis客戶端的連接配置?,F(xiàn)在的問題就是如何知道Redis集群地址發(fā)生了改變?

我們可以采用把Redis的集群地址配置在zookeeper中,應用在啟動的時候,獲取zk上的集群地址的值,進行初始化。如果想要改變集群地址,要在zk上面進行設置。

zk重要的特性就是監(jiān)聽特性,節(jié)點發(fā)生變化,就會立刻把變化發(fā)送給應用,從而應用獲取到值,重新設置jedis客戶端連接

Redis實戰(zhàn)的常見問題和解決方法

十一、發(fā)現(xiàn)異常

發(fā)現(xiàn)異常這個問題,其實就是一個監(jiān)控的問題,我們需要把各個客戶端使用Redis的情況進行監(jiān)控。怎么監(jiān)控?

需要一個監(jiān)控工具,這個監(jiān)控工具網上有幾個,推薦使用小米的open-falcon,自行搭建改監(jiān)控系統(tǒng),搭建比較復雜,但功能比較強大,很多公司都在使用。

當然小伙伴們可以用別的監(jiān)控工具,只要數據上報協(xié)議,和監(jiān)控報表輸出功能即可,當然也要有報警的功能,及時給運維人員報告

再使用Aop攔截Redis操作類,攔截Redis操作,把相關數據進行封裝。每隔1分鐘把這些數據上報到open-falcon平臺中。具體監(jiān)控什么數據,由業(yè)務決定,一般要把設置的key,業(yè)務,操作時長,哪個客戶端IP發(fā)起的,都需要監(jiān)控。

在可以設置相關的報警規(guī)則,如:某個key一直被調用,在一段時間內操作次數太高。這樣就可以方便排查哪些key導致cpu負載太高,就可以去看一下設置這個key的代碼,有沒有什么問題?是不是死循環(huán)等問題?

十二、截斷異常

在上面的發(fā)現(xiàn)異常的基礎上面,如果發(fā)現(xiàn)某些業(yè)務應用,不正常,就可以立即發(fā)起截斷該客戶端的請求,這樣可以保證其他業(yè)務不受影響。這里我們使用客戶端方式去實現(xiàn)截斷。原理也很簡單,在Redis二次封裝的類中,我們需要判斷本機是否在黑名單中,如果存在,則無法操作方法,或報異常。

Redis實戰(zhàn)的常見問題和解決方法

如何知道黑名單的變化,跟優(yōu)雅擴容那個Redis集群地址的改變,方案一樣。

十三、總結

在企業(yè)應用中,小伙伴們要經常去思考,業(yè)務進行中,如何方便管理,及時發(fā)現(xiàn)問題,是非常重要的。這也是很多管理者經常忽略的,都只是先把功能完成了,而不顧管理和監(jiān)控。希望這篇文章能夠幫助大家,從另一個緯度發(fā)現(xiàn)問題。謝謝!?。?/p>

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    594

    瀏覽量

    23078
  • Redis
    +關注

    關注

    0

    文章

    390

    瀏覽量

    12081
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    VCS安裝教程及常見問題和解決辦法

    一、簡要介紹 在對蜂鳥E203處理器進行運行系統(tǒng)級仿真測試時,可以利用VCS這一編譯型仿真工具來對運行E203的模擬測試。本文即介紹在Linux系統(tǒng)中,進行模擬測試途中出現(xiàn)的一系列常見問題
    發(fā)表于 10-27 07:58

    半導體制造防震基座安裝RC 銑孔常見問題解決方法-江蘇泊蘇系統(tǒng)集成有限公司

    在半導體制造防震基座安裝的 RC 銑孔操作中,即使嚴格遵循操作規(guī)程,仍可能因材料特性、設備狀態(tài)或環(huán)境變化出現(xiàn)各類問題。以下是常見問題的成因分析及針對性解決方法,確保銑孔質量符合高精度
    的頭像 發(fā)表于 08-21 15:53 ?625次閱讀
    半導體制造防震基座安裝RC 銑孔<b class='flag-5'>常見問題</b>及<b class='flag-5'>解決方法</b>-江蘇泊蘇系統(tǒng)集成有限公司

    氫氣傳感器維護常見問題解決方法

    傳感器維護中的六大常見故障現(xiàn)象,結合典型應用場景,提供系統(tǒng)化的診斷方法和解決方案。 一、零點漂移問題診斷與校準 在石油化工企業(yè)的日常監(jiān)測中,某加氫站工作人員發(fā)現(xiàn)傳感器在無氫環(huán)境下的輸出信號持續(xù)偏高,24小時內漂
    的頭像 發(fā)表于 07-27 22:29 ?637次閱讀

    Redis集群部署與性能優(yōu)化實戰(zhàn)

    Redis作為高性能的內存數據庫,在現(xiàn)代互聯(lián)網架構中扮演著關鍵角色。作為運維工程師,掌握Redis的部署、配置和優(yōu)化技能至關重要。本文將從實戰(zhàn)角度出發(fā),詳細介紹Redis集群的搭建、性
    的頭像 發(fā)表于 07-08 17:56 ?672次閱讀

    電機常見故障分析及解決方法

    電機在運行過程中可能會出現(xiàn)多種故障,以下是一些常見故障的分析及解決方法: 一、機械故障 1. 軸承損壞或磨損 ? ?● 故障表現(xiàn):電機運轉不平穩(wěn),產生異響,嚴重時甚至停轉。 ? ?● 原因分析:通常
    的頭像 發(fā)表于 04-25 15:20 ?4187次閱讀
    電機<b class='flag-5'>常見</b>故障分析及<b class='flag-5'>解決方法</b>

    321Y驅動器的常見故障及解決方法

    ? 321Y驅動器常見故障及解決方法 ?: ? 過載故障 ? ? 現(xiàn)象 ?:驅動器連續(xù)使用超過額定負載兩倍時,會產生異常警報?1。 ? 解決方法 ?:降低負載、調整減速箱傳動比、增加電動機容量等?1
    的頭像 發(fā)表于 03-07 15:50 ?1463次閱讀

    Redis實戰(zhàn)筆記

    《 2024最新Redis 實戰(zhàn)筆記》,這份筆記對 Redis 的相關知識做了系統(tǒng)全面的介紹,還是PDF版本,可自由復制,特別適合 Redis 初學者快速入門和提高。 ? 本筆記適合人
    的頭像 發(fā)表于 02-09 09:12 ?651次閱讀
    <b class='flag-5'>Redis</b><b class='flag-5'>實戰(zhàn)</b>筆記

    機房空調—機房送風與回風設計常見問題和解決方法

    機房送風與回風設計是確保機房穩(wěn)定運行的重要環(huán)節(jié)。然而,在實際設計和應用中,常常會遇到一些問題。下面聊一下機房送風與回風設計常見問題。 一、送風系統(tǒng)設計常見問題 1、送風口布局不合理
    的頭像 發(fā)表于 02-07 10:37 ?1057次閱讀
    機房空調—機房送風與回風設計<b class='flag-5'>常見問題</b><b class='flag-5'>和解決方法</b>

    無功補償故障原因及解決方法

    無功補償故障可能由多種原因引起,以下是一些常見的故障原因及其解決方法
    的頭像 發(fā)表于 01-29 14:25 ?2692次閱讀

    常見電阻器故障及解決方法

    電阻器是電路中常見的元件之一,用于限制電流的流動。它們可能會出現(xiàn)多種故障,以下是一些常見的電阻器故障及其解決方法: 1. 開路故障 故障現(xiàn)象: 電阻器兩端沒有電流通過。 電路中的其他元件可能無法正常
    的頭像 發(fā)表于 01-24 16:41 ?4855次閱讀

    SMT貼片工藝常見問題解決方法

    SMT貼片工藝在電子制造中占據重要地位,但在實際生產過程中,常會遇到一些問題。以下是對這些問題及其解決方法的分析: 一、元器件移位 問題描述 : 元器件在貼片后發(fā)生位置偏移,導致引腳不在焊盤上
    的頭像 發(fā)表于 01-10 17:10 ?2717次閱讀

    電子焊接的常見問題解決方法

    電子焊接是電子組裝過程中的關鍵步驟,焊接質量的好壞直接影響電子產品的性能和可靠性。在電子焊接過程中,經常會遇到一些常見問題,掌握其解決方法對于提高焊接質量具有重要意義。以下是幾種常見的電子焊接
    的頭像 發(fā)表于 01-09 10:28 ?1966次閱讀

    gitee 常見問題解決方法

    Gitee作為國內的代碼托管平臺,在使用過程中可能會遇到一些問題。以下是一些常見問題及其解決方法: 一、倉庫創(chuàng)建與代碼推送問題 倉庫已存在遠程配置 問題 :在嘗試為已有項目添加遠程倉庫配置時,可能會
    的頭像 發(fā)表于 01-06 10:06 ?2396次閱讀

    mac的常見問題解決方法

    Mac常見問題解決方法 1. 系統(tǒng)啟動緩慢 問題描述: 啟動Mac時,系統(tǒng)啟動緩慢,甚至出現(xiàn)卡頓現(xiàn)象。 解決方法: 檢查啟動項目: 打開系統(tǒng)偏好設置中的“用戶與群組”,點擊“登錄項”,移除不必要
    的頭像 發(fā)表于 12-19 15:02 ?1904次閱讀

    三坐標測量機常見故障及解決方法

    可能會出現(xiàn)各種故障。以下是一些常見的故障及其解決方法: 1. 機械故障 1.1 導軌磨損 故障現(xiàn)象 :測量精度下降,機器運行時有異常噪音。 解決方法 :檢查導軌是否磨損,必要時更換導軌或進行修復。 1.2 軸承損壞 故障現(xiàn)象 :
    的頭像 發(fā)表于 12-19 10:01 ?2981次閱讀