日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java之品优购部署_day01(8)

發布時間:2025/3/15 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java之品优购部署_day01(8) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • RedisCluster
    2.1 Redis-Cluster簡介
    2.1.1 什么是 Redis-Cluster
    為何要搭建 Redis 集群。Redis 是在內存中保存數據的,而我們的電腦一般內存都不大, 這也就意味著 Redis 不適合存儲大數據,適合存儲大數據的是 Hadoop 生態系統的 Hbase 或者是 MogoDB。Redis 更適合處理高并發,一臺設備的存儲能力是很有限的,但是多臺設備協同合作,就可以讓內存增大很多倍,這就需要用到集群。
  • Redis 集群搭建的方式有多種,例如使用客戶端分片、Twemproxy、Codis 等,但從redis 3.0 之后版本支持 redis-cluster 集群,它是 Redis 官方提出的解決方案, Redis-Cluster 采用無中心結構,每個節點保存數據和整個集群狀態,每個節點都和其他所有節點連接。其 redis-cluster 架構圖如下:

    客戶端與 redis 節點直連,不需要中間 proxy 層.客戶端不需要連接集群所有節點連接集群中任何一個可用節點即可。

    所有的 redis 節點彼此互聯(PING-PONG 機制),內部使用二進制協議優化傳輸速度和帶
    寬.
    2.1.1 分布存儲機制-槽
    (1) redis-cluster 把所有的物理節點映射到[0-16383]slot 上,cluster 負責維護

    node<->slot<->value

    (2) Redis 集群中內置了 16384 個哈希槽,當需要在 Redis 集群中放置一個 key-value 時,redis 先對 key 使用 crc16 算法算出一個結果,然后把結果對 16384 求余數,這樣每個 key 都會對應一個編號在 0-16383 之間的哈希槽,redis 會根據節點數量大致均等的將哈希槽映射到不同的節點。
    例如三個節點:槽分布的值如下:

    SERVER1:
    0-5460
    SERVER2:
    5461-10922
    SERVER3:
    10923-16383

    2.1.2 容錯機制-投票
    (1)選舉過程是集群中所有 master 參與,如果半數以上 master 節點與故障節點通信超過(cluster-node-timeout),認為該節點故障,自動觸發故障轉移操作. 故障節點對應的從節點自動升級為主節點
    (2)什么時候整個集群不可用(cluster_state:fail)?

    如果集群任意 master 掛掉,且當前 master 沒有 slave.集群進入 fail 狀態,也可以理解成集群的 slot 映射[0-16383]不完成時進入 fail 狀態.

    4.2 搭建 Redis-Cluster4.2.1 搭建要求
    需要 6 臺 redis 服務器。搭建偽集群。需 要 6 個 redis 實 例 。
    需要運行在不同的端口 7001-7006

    4.2.2 準備工作
    (1)安裝 gcc 【此步省略】
    Redis 是 c 語言開發的。安裝 redis 需要 c 語言的編譯環境。如果沒有 gcc 需要在線安裝。

    yum install gcc-c++
    (2)使用 yum 命令安裝 ruby (我們需要使用 ruby 腳本來實現集群搭建)【此步省略】

    yum install ruby
    yum install rubygems
    Ruby,一種簡單快捷的面向對象(面向對象程序設計)腳本語言,在 20 世紀 90 年代由日本人松本行弘
    (Yukihiro Matsumoto)開發,遵守 GPL協議和 Ruby License。它的靈感與特性來自于 Perl、Smalltalk、Eiffel
    Ada以及 Lisp語言。由 Ruby 語言本身還發展出了 JRuby(Java 平臺)、IronRuby(.NET平臺)等其
    他平臺的 Ruby 語言替代品。Ruby 的作者于 1993 年 2 月 24 日開始編寫 Ruby,直至 1995 年 12 月才正
    式公開發布于 f(j 新聞組)。因為 Perl 發音與 6 月誕生石 pear(l 珍珠)相同,因此 Ruby 以 7 月誕生石 ruby

    file:///C:\Users\user\AppData\Local\Temp\ksohtml\wps71AB.tmp.pngfile:///C:\Users\user\AppData\Local\Temp\ksohtml\wps71AC.tmp.pngfile:///C:\Users\user\AppData\Local\Temp\ksohtml\wps71AD.tmp.png
    Ruby,一種簡單快捷的面向對象(面向對象程序設計)腳本語言,在 20 世紀 90 年代由日本人松本行弘
    (Yukihiro Matsumoto)開發,遵守 GPL協議和 Ruby License。它的靈感與特性來自于 Perl、Smalltalk、Eiffel
    Ada以及 Lisp語言。由 Ruby 語言本身還發展出了 JRuby(Java 平臺)、IronRuby(.NET平臺)等其
    他平臺的 Ruby 語言替代品。Ruby 的作者于 1993 年 2 月 24 日開始編寫 Ruby,直至 1995 年 12 月才正
    式公開發布于 f(j 新聞組)。因為 Perl 發音與 6 月誕生石 pear(l 珍珠)相同,因此 Ruby 以 7 月誕生石 ruby

    file:///C:\Users\user\AppData\Local\Temp\ksohtml\wps71AE.tmp.pngfile:///C:\Users\user\AppData\Local\Temp\ksohtml\wps71BF.tmp.png(3)將 redis 源碼包上傳到 linux 系統 ,解壓 redis 源碼包

    (4)編譯 redis 源碼 ,進入 redis 源碼文件夾
    make

    看到以下輸出結果,表示編譯成功

    (5)創建目錄/usr/local/redis-cluster 目錄 安裝 6 個 redis 實例,分別安裝在以下目錄

    /usr/local/redis-cluster/redis-1

    /usr/local/redis-cluster/redis-2

    /usr/local/redis-cluster/redis-3

    /usr/local/redis-cluster/redis-4

    /usr/local/redis-cluster/redis-5

    /usr/local/redis-cluster/redis-6

    以第一個 redis 實例為例,命令如下
    make install PREFIX=/usr/local/redis-cluster/redis-1


    出現此提示表示成功,按此方法安裝其余 5 個 redis 實例
    (6)復制配置文件 將 /redis-3.0.0/redis.conf 復制到 redis 下的 bin 目錄下
    [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-1/bin [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-2/bin [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-3/bin [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-4/bin [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-5/bin
    [root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis-cluster/redis-6/bin

    轉載于:https://blog.51cto.com/13517854/2140237

    總結

    以上是生活随笔為你收集整理的Java之品优购部署_day01(8)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。