摘要:
1. 概述 之前聊了一下 Elasticsearch(ES)的基本使用,今天我们聊聊 Elasticsearch(ES)的高级搜索(DSL搜索),由于DSL搜索内容比较多,因此分为两篇文章完成。 2. 场景说明 2.1 创建索引同时创建映射 PUT http://192.168.1.11:9200/ 阅读全文
摘要:
1. 概述 分词器是Elasticsearch中很重要的一个组件,用来将一段文本分析成一个一个的词,Elasticsearch再根据这些词去做倒排索引。 今天我们就来聊聊分词器的相关知识。 2. 内置分词器 2.1 概述 Elasticsearch 中内置了一些分词器,这些分词器只能对英文进行分词处 阅读全文
摘要:
1. 概述 之前聊了一下 Elasticsearch 的安装,今天我们来说说 Elasticsearch 的基本使用。 2. Elasticsearch索引的使用 索引(index)相当于是mysql中的表。 2.1 创建索引 1)Head插件方式 选择 索引 页签,点击【新建索引】按钮,输入索引名 阅读全文
摘要:
1. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要。 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百万级别后,关系型数据库的查询效率就会断崖式下跌,造成用户体验下降。 这时我们就需要引入分布式搜索引擎 阅读全文
摘要:
1. 概述 上一次我们聊了一下《使用Redis实现分布式会话》,原理就是使用 客户端Cookie + Redis 的方式来验证用户是否登录。 如果分布式系统中,只是对Tomcat做了负载均衡,或者所有的子系统都在同一个二级域名下,则 客户端Cookie + Redis 的方式是可以支持验证用户是否登 阅读全文
摘要:
1. 概述 传统的单体应用中,用户是否登录,通常是通过从Tomcat容器的session中获取登录用户信息判断的。 但在分布式的应用中,通常负载均衡了多台Tomcat,每台Tomcat都有自己独立的session,用户的每次请求都可能到达不同的Tomcat,因此可能会出现需要登录多次或者登录无效的情 阅读全文
摘要:
1. 概述 缓存穿透和缓存雪崩是在实际项目中,经常能遇到的问题。 今天我们就简单聊聊缓存穿透和缓存雪崩的这两个话题。 2.缓存穿透 2.1 什么是缓存穿透? 简单说就是用户发起请求时,始终匹配不到缓存中的数据,每次都直接通过关系型数据库进行查询,并得到数据。 如果这个请求的并发量非常的大,非常多的用 阅读全文
摘要:
1、概述 之前聊了Redis的哨兵模式,哨兵模式解决了读的并发问题,也解决了Master节点单点的问题。 但随着系统越来越庞大,缓存的数据越来越多,服务器的内存容量又成了问题,需要水平扩容,此时哨兵模式就无法支持了,需要使用Redis的集群模式(Redis Cluster)。 Redis的集群模式( 阅读全文
摘要:
1. 概述 前面我们聊过Redis的读写分离机制,这个机制有个致命的弱点,就是主节点(Master)是个单点,如果主节点宕掉,整个Redis的写操作就无法进行服务了。 为了解决这个问题,就需要依靠“哨兵”,今天我们就来聊聊哨兵机制如何实现,且如何与SpringBoot进行整合。 2. 场景描述 主服 阅读全文
摘要:
1、概述 随着企业业务的不断扩大,请求的并发量不断增长,Redis可能终会出现无法负载的情况,此时我们就需要想办法去提升Redis的负载能力。 读写分离(主从复制)是一个比较简单的扩展方案,使用多台机器同时运行Redis服务,一台负责写服务,多台负责读服务,通过多台服务器对请求进行负载,大大提高了R 阅读全文