简述Redis-Cluster

1 redis集群

1.1 什么是集群

集群就是将多台服务器集中到一起用来实现同一业务

1.2 什么是 分布式

分布式就是将不同的业务分开,例如web应用 和数据库服务

1.3 集群与分布式有什么联系

相同点,都是处理高并发,都需要多台服务器协同工作,一般它们会同时存在

不同点:分布式中不同的服务器处理不同的业务,集群处理的是同一业务
个人理解:分布式大于集群,分布式由多个集群组成

1.4 Redis集群的三种方案

  1. 主从复制 : 主从同步,读写分离,主备切换 处理高并发
    缺点:难支持在线扩容,单点故障处理不便捷{宕机会导致部分请求失败,数据丢失}

  2. 哨兵模式:可以自动监控主服务器和从服务器是否正常运行
    出现故障时将从服务器转换为主服务器,主从可以自动切换,系统更健壮,可用性更高。
    缺点:难支持在线扩容,储存消耗大,每台服务器存储相同的数据,浪费内存

  3. Redis-Cluster 集群
    采用无中心结构,完成 主从同步 读写分离 主备切换 自动切换, 分布式存储
    有容错机制
    缺点:难支持扩容
    架构图如下

  4. Redis-Cluster的容错机制-投票
    (1)选举过程是集群中所有master参与,如果半数以上master节点与故障节点通信超过(cluster-node-timeout),认为该节点故障,自动触发故障转移操作. 故障节点对应的从节点自动升级为主节点
    (2)什么时候整个集群不可用(cluster_state:fail)?
    如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完成时进入fail状态.

1.5 Redis-Cluster环境搭建

参考https://blog.csdn.net/weixin_41846320/article/details/83654766

1.6 Redis-Cluster 的相关简述

  1. 简单说一下redis-cluster里面的分布式存储机制 - 槽
    槽是存放数据,存放是要通过key计算槽位,选择对应的服务器来存储,获取也是同样的算法.
    默认16384个槽位要均匀分布到主节点上面
    为了槽里面数据安全要对主节点进行1-N从节点备份

  2. 怎么通过命令连接redis集群
    redis-cli -c -h “ip地址” -p “端口”

  3. 怎么通过jedis连接集群

Set<HostAndPort> nodes = new HashSet();
        nodes.add(new HostAndPort("127.0.0.1", 6379));
        nodes.add(new HostAndPort("127.0.0.1", 6380));
        nodes.add(new HostAndPort("127.0.0.1", 6381));
        nodes.add(new HostAndPort("127.0.0.1", 6382));
        nodes.add(new HostAndPort("127.0.0.1", 6383));
        nodes.add(new HostAndPort("127.0.0.1", 6384));
        JedisCluster cluster = new JedisCluster(nodes);

2 分布式全文搜索引擎 ElasticSearch

2.1 ElasticSearch【简称ES】的优势

  1. 分布式的实时文件存储,每个字段都被索引并可被搜索
  2. 分布式的实时分析搜索引擎
  3. 可以扩展到上百台服务器,处理PB级结构化或非结构化数据
  4. 通过简单的 RESTful API、各种语言的客户端甚至命令行与之
    交互。上手容易

2.2 ES的使用案例

①Github(美国)使用Elasticsearch搜索20TB的数据,包括13亿的文件和1300亿行的代码.
②Foursquare实时搜索5千万地点信息?Foursquare每天都用Elasticsearch做这样的事.
③德国SoundCloud使用Elasticsearch来为1.8亿用户提供即时精准的音乐搜索服务.
④Mozilla公司以火狐著名,它目前使用 WarOnOrange 这个项目来进行单元或功能测试,测试的结果以 json的方式索引到elasticsearch中,开发人员可以非常方便的查找 bug.
⑤Sony公司使用elasticsearch 作为信息搜索引擎.

2.3 安装ES服务端

  1. ES的安装比较简单,只需要官方下载ES的运行包,然后启动ES服务即可。
  2. ES的使用主要是通过能够发起HTTP请求的终端来接入,比如Poster插件、CURL、kibana5等
  3. 官方下载地址:https://www.elastic.co/downloads/elasticsearch
  4. 运行ES bin/elasticsearch.bat
  5. 验证 访问:http://localhost:9200/
    下图表示安装成功
    在这里插入图片描述

2.4 ES的辅助管理工具 Kibana5

① Kibana5.2.2下载地址:https://www.elastic.co/downloads/kibana
② 解压并编辑config/kibana.yml,设置elasticsearch.url的值为已启动的ES
③ 启动Kibana5 : bin\kibana.bat
④ 默认访问地址:http://localhost:5601
Discover:可视化查询分析器
Visualize:统计分析图表
Dashboard:自定义主面板(添加图表)
Timelion:Timelion是一个kibana时间序列展示组件
Dev Tools :Console(同CURL/POSTER,操作ES代码工具,代码提示,很方便)
Management:管理索引库(index)、已保存的搜索和可视化结果(save objects)、设置 kibana 服务器属性。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值