Redis-Cluster+ElatisSearch

1.redis集群

1.1、什么叫集群

集群就是:很多服务器组成的一个网络。指的是将多台服务器集中在一起,实现同一业务。

1.2、什么是分布式

分布式就是:把业务拆分开,分布到不同服务器(理解),往往集群都是伴随的分布式。
为什么需要集群:
(1)解决单点故障
​(2)处理高并发
​(3)处理大数据(高并发) --解决存储问题

1.3、分布式和集群的区别

相同点:
都是处理高并发,而且都需要多台服务器协同.一般在一个系统中同时存在分布式和集群.
不同点:
分布式中不同服务器处理是不同业务.而集群处理时同一业务.

2.Redis集群方案选择

2.1、主从复制

优点:
支持主从复制,主机会自动将数据同步到从机,可以进行读写分离
缺点:
Redis不具备自动容错和恢复功能,如果想具备自动重起 ,需要安装插件

2.2、哨兵模式

优点:
主从复制优点都在, 通过哨兵自动恢复
缺点:
比较难扩容,服务占用空间比较多

2.3、 Redis-Cluster集群

Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。其redis-cluster架构图如下:
在这里插入图片描述

3.搭建redis-cluster

(1) 拷贝6个redis 分别命名为 6379-6384

(2) 修改配置

port 6379

cluster-enabled yes

cluster-config-file nodes-6379.conf

cluster-node-timeout 15000

appendonly yes

(3) 每个redis服务 写一个startup.bat启动文件

title redis-6379

redis-server.exe redis.windows.conf

(4)安装ruby环境

​ 傻瓜式安装

(5)安装Redis的Ruby驱动 rubygems-3.0.6

​解压、 然后命令行执行 ruby setup.rb

(6)通过驱动安装的redis

​ a)进入6379的目录

​ b)执行gem install redis

(7) 启动 6379-6384服务

​ 创建集群

​ 拷贝redis-trib.rb到6379的redis节点

​ redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384

4.ElasticSearch

1.es (elasticSearch): 全文检索的框架,专门做搜索,支持分布式,集群
2.分布式的实时文件存储,每个字段都被索引并可被搜索
3.分布式的实时分析搜索引擎
4.可以扩展到上百台服务器,处理PB级结构化或非结构化数据
5.高度集成化的服务,你的应用可以通过简单的 RESTful API、各种语言的客户端甚至命令行与之交互。

4.1、Solr和ES区别

(1)Solr重量级, 支持很多种类型操作,支持分布式式,它里面有很多功能,但是在实时领域上面,没有es好

​ (2)Es 轻量级, 支持json的操作格式, 在实时搜索领域里面做的不错,]如果想使用其他的功能,需要额外安装插件

5.ES的使用

(1)ES服务端
解压 -->bin/elasticsearch.bat -->localhost:9200

(2)配置内存:
config/jvm.options
​ -Xmx1g
​ -Xms1g

(3)健康状态:
green(最健康) -->主分片和从分片(存储内容)都完好,集群是100%健康
yellow -->主分片好的,从分片至少缺少一个,集群还是可以使用,
red -->至少一个主分片以及它的全部副本都在缺失中。这意味着你在缺少数据

5.1、ES客户端–navicat

restfull风格 —> GET/POST/DELETE/PUT shop/goods/1

GET shop/goods/1 -->查询shop这个库goods表 1这条数据

PUT shop/goods {“name”:“111”}

POST shop/goods {“name”:“111”}

DELETE shop/goods/1

5.2、选择合适并安装客户端

5.2.1、安装kibana客户端

1)下载
在这里插入图片描述
2)安装
解压即可
3)配置
配置服务器地址,编辑config/kibana.yml,设置elasticsearch.url的值为已启动的ES
3)启动
在这里插入图片描述
4)测试
http://localhost:5601
在这里插入图片描述

5.2.2、head工具入门+postman

进入head页面 进行安装
1)下载安装
npm install
npm run start
2)配置跨域访问
修改 elasticsearch/config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: “*”
3)使用
在这里插入图片描述

6.ES文档操作

6.1、什么是ES中的文档

在ES里面 通过index索引库 type 类型(表) 行({id:name:}) 列 id /name
ES存储的一个员工文档的格式示例:

{
"name": "蔡徐坤",
"info": {
     "addr": "四川省成都市",
     "age": 30,
     "interests": [ "吴亦凡", "鹿晗" ]
},
"join_date": "2016-06-01"
}

6.2、DSL的查询和过

DSL查询:
	GET crm/student/_search
		{
	"query": {
 			 "match_all": {}
		},
	"from": 0, 
	"size": 5,
	"_source": ["name", "age"],
	"sort": [{"age": "asc"}]
	}
DSL过滤:
	GET crm/student/_search
		{
		"query": {
  			"bool": {
   			 "must": [
     			 {"match": {
     			   "name": "tangtang"
      				}}
    				],
   			 "filter": {
   			    "term":{"age":20}
   				 }
 			 }
		},
		"from": 0, 
		"size": 5,
		"_source": ["name", "age"],
		"sort": [{"age": "asc"}]
		}	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值