摘要:
多shard场景下相关度分数(relevance score)不准确问题 在es中检索某个field中是否包含关键字,会使用到TF/IDF算法来计算相关度分数 计算相关度分数主要从以下三点考虑 在一个doc中field中关键字出现的次数(越大相关度越高) 在所有doc中field中关键字出现的次数( 阅读全文
posted @ 2021-06-08 16:04
知白守黑,和光同尘
阅读(888)
评论(0)
推荐(0)
摘要:
ES的Java API Transport Client:TransportClient不推荐使用,而推荐使用Java High Level REST Client,并将在Elasticsearch 8.0中删除。 JAVA REST Client Java Low Level REST Clien 阅读全文
posted @ 2021-06-08 16:03
知白守黑,和光同尘
阅读(1040)
评论(0)
推荐(0)
摘要:
什么是相关度 相关性描述的是⼀个⽂档和查询语句匹配的程度。ES 会对每个匹配查询条件的结果进⾏算分_score。_score 的评分越高,相关度越高。 信息检索工具性能的3大指标 查准率 Precision:尽可能返回较少的无关文档; 查全率 Recall:尽可能返回较多的相关文档; 排序 Rank 阅读全文
posted @ 2021-06-08 16:02
知白守黑,和光同尘
阅读(586)
评论(0)
推荐(0)
摘要:
分词器的概念 Analysis和Analyzer Analysis:文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词 Analysis是通过Analyzer来实现的。 当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field)。 倒 阅读全文
posted @ 2021-06-08 16:00
知白守黑,和光同尘
阅读(1627)
评论(0)
推荐(0)
摘要:
Mapping 概念 mapping就是ES数据字段field的type元数据,ES在创建索引的时候,dynamic mapping会自动为不同的数据指定相应mapping,mapping中包含了字段的类型、搜索方式(exact value或者full text)、分词器等 查看Mapping #查 阅读全文
posted @ 2021-06-08 15:55
知白守黑,和光同尘
阅读(410)
评论(0)
推荐(0)
摘要:
在http://192.168.232.128:5601/app/dev_tools#/console连接中进行直接数据操作(安装了Kibana) 没有安装的直接连接也可用postman直接连接ES 新增数据 #相关测测试数据 PUT /product/_doc/1 { "name" : "xiao 阅读全文
posted @ 2021-06-08 15:54
知白守黑,和光同尘
阅读(110)
评论(0)
推荐(0)
摘要:
ES的容错机制 假设场景,现在一共有9个shard,其中3个shard 6个replica,一共有三个es节点,node1是master节点,具体如下图: 如果下载master节点挂掉,shard1,replica2-1,replica3-1 节点会丢失,在master节点挂掉的一瞬间 shard1 阅读全文
posted @ 2021-06-08 15:51
知白守黑,和光同尘
阅读(699)
评论(0)
推荐(0)
摘要:
环境 JDK 8 centos 7 elasticsearch的基于lucene开发, lucene是java语言开发,因此需要java环境 安装es 安装包下载 https://www.elastic.co/cn/downloads/elasticsearch 解压安装包 tar -zxvf el 阅读全文
posted @ 2021-06-08 15:41
知白守黑,和光同尘
阅读(67)
评论(0)
推荐(0)
摘要:
什么是搜索引擎 搜索引擎,即指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统.小到一个网站的内部搜索功能,如博客文章的搜索,电商平台商品的搜索,大到提供全网搜索的网站,如谷歌、百度等 倒排索引 索引就类似于目 阅读全文
posted @ 2021-06-08 15:39
知白守黑,和光同尘
阅读(192)
评论(0)
推荐(0)
摘要:
MySQL优化官网参考 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语句的优化(收效甚微) 字段设计 字段类型的选择,设计规范,范式,常见设计案例 存储IP地址 常规做法: varchar(15 阅读全文
posted @ 2021-06-08 15:33
知白守黑,和光同尘
阅读(83)
评论(0)
推荐(0)
摘要:
分库分表前的问题 任何问题都是太大或者太小的问题,我们这里面对的数据量太大的问题。 用户请求量太大 因为单服务器TPS,内存,IO都是有限的。 解决方法:分散请求到多个服务器上; 其实用户请求和执行一个sql查询是本质是一样的,都是请求一个资源,只是用户请求还会经过网关,路由,http服务器等。 单 阅读全文
posted @ 2021-06-08 15:25
知白守黑,和光同尘
阅读(246)
评论(0)
推荐(0)
摘要:
索引是什么? 索引是什么了,查阅了官方文档。官方文档写了索引的作用和没有索引会带来全表扫描,非常费时间。 Indexes are used to find rows with specific column values quickly. Without an index, MySQL must b 阅读全文
posted @ 2021-06-08 15:20
知白守黑,和光同尘
阅读(112)
评论(0)
推荐(0)
摘要:
为什么需要主从复制? 在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运作。 做数据的热备 架构的扩展。业务量越来越大,I/O访问频 阅读全文
posted @ 2021-06-08 15:17
知白守黑,和光同尘
阅读(3518)
评论(0)
推荐(1)
摘要:
调优原则 在性能优化时,我们必须遵循一定的原则,否则,有可能得不到正确的调优结果。主要有以下几个方面: 对性能进行分析时,要多方面分析系统的资源瓶颈所在,因为系统某一方面性能低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时,很可能是内存容量太小,因为CPU忙于处理内存调度。 阅读全文
posted @ 2021-06-08 15:16
知白守黑,和光同尘
阅读(470)
评论(0)
推荐(0)
摘要:
为什么要有事务 数据库引入事务的主要目的是事务会把数据库会从一种一致状态转换到另一种一致状态,数据库提交工作时可以确保要么所有修改都保存,要么所有修改都不保存。 事务的四大特性(ACID) A(Atomicity) 原子性 C(Consistency) 一致性 I(Isolation) 隔离性 D( 阅读全文
posted @ 2021-06-08 15:15
知白守黑,和光同尘
阅读(97)
评论(0)
推荐(0)
摘要:
title: MySQL的Sql执行流程 date: 2021-03-09 14:47 tags: MySQL categories: MySQL description: MySQL的Sql执行流程 hidden: false abbrlink: 6b5d697 updated: top: 执行流 阅读全文
posted @ 2021-06-08 15:12
知白守黑,和光同尘
阅读(151)
评论(0)
推荐(0)
摘要:
MySQL的约束 排序查询 语法:order by 子句 order by 排序字段1 排序方式1 , 排序字段2 排序方式2... 排序方式: ASC:升序,默认的。 DESC:降序。 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。 聚合函数 将一列数据作为一个整体,进行纵向的计算 阅读全文
posted @ 2021-06-08 15:11
知白守黑,和光同尘
阅读(109)
评论(0)
推荐(0)
摘要:
操作数据库:CRUD C(Create):创建 创建数据库: create database 数据库名称; 创建数据库,判断不存在,再创建: create database if not exists 数据库名称; 创建数据库,并指定字符集 create database 数据库名称 charact 阅读全文
posted @ 2021-06-08 15:10
知白守黑,和光同尘
阅读(201)
评论(0)
推荐(0)
摘要:
相关环境 操作系统:centos7 mysql版本:mysql 5.7 MySQL 5.7 的安装 检测系统是否自带安装mysql yum list installed | grep mysql 删除系统自带的mysql及其依赖(防止冲突) #此处对应的是自身版本 yum -y remove mys 阅读全文
posted @ 2021-06-08 15:08
知白守黑,和光同尘
阅读(286)
评论(0)
推荐(0)
摘要:
Executor框架 线程池就是线程的集合,线程池集中管理线程,以实现线程的重用,降低资源消耗,提高响应速度等。线程用于执行异步任务,单个的线程既是工作单元也是执行机制,从JDK1.5开始,为了把工作单元与执行机制分离开,Executor框架诞生了,他是一个用于统一创建与运行的接口。Executor 阅读全文
posted @ 2021-06-08 15:05
知白守黑,和光同尘
阅读(800)
评论(0)
推荐(0)
摘要:
ThreadLocal spring的声明式事务会使用到,保证当前线程中数据库连接是同一个连接 强引用 只要一对象有强引用,垃圾回收机制不会回收 软引用 在内存不够用时,会优先回收只有软引用的内存空间,主要是做缓存用 弱引用 只要是触发垃圾回收机制进行回收,只具有弱引用的对象就会被回收 tomcat 阅读全文
posted @ 2021-06-08 15:04
知白守黑,和光同尘
阅读(205)
评论(0)
推荐(0)
摘要:
概述 AbstractQueuedSynchronizer抽象队列同步器简称AQS,它是实现同步器的基础组件,juc下面Lock的实现以及一些并发工具类就是通过AQS来实现的,这里我们通过AQS的类图先看一下大概,下面我们总结一下AQS的实现原理。先看看AQS的类图。 (1)AQS是一个通过内置的F 阅读全文
posted @ 2021-06-08 15:01
知白守黑,和光同尘
阅读(2640)
评论(0)
推荐(0)
摘要:
ReentrantLock(可重入锁) 概念 ReentrantLock重入锁,是实现Lock接口的一个类,也是在实际编程中使用频率很高的一个锁,支持重入性,表示能够对共享资源能够重复加锁,即当前线程获取该锁再次获取不会被阻塞。在java关键字synchronized隐式支持重入性,synchr 阅读全文
posted @ 2021-06-08 15:00
知白守黑,和光同尘
阅读(269)
评论(0)
推荐(0)
摘要:
volatile 作用 保证线程可见性 使用volatile,将会强制所有线程都去堆内存中读取变量的值 -MESI(CPU的缓存一致性协议) 详细可看 https://www.cnblogs.com/z00377750/p/9180644.html 禁止指令重排序(CPU级别的支持) cpu级别增加 阅读全文
posted @ 2021-06-08 14:55
知白守黑,和光同尘
阅读(94)
评论(0)
推荐(0)
摘要:
分布式锁 分布式锁的思路是每个客户端都在某个目录下注册一个临时有序节点,每次最小的节点会获取锁,当前节点会去监听上一个较小节点,如果较小节点失效之后,就会去获取锁。 java原生zookeeper客户端 引入jar包 <dependency> <groupId>org.apache.zookeepe 阅读全文
posted @ 2021-06-08 14:35
知白守黑,和光同尘
阅读(75)
评论(0)
推荐(0)
摘要:
官方文档地址 Zookeeper介绍 Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 Zooke 阅读全文
posted @ 2021-06-08 14:34
知白守黑,和光同尘
阅读(261)
评论(0)
推荐(0)
摘要:
Zab算法描述 Zab协议 的全称是 Zookeeper Atomic Broadcast (Zookeeper原子广播)。 Zookeeper 是通过 Zab 协议来保证分布式事务的最终一致性。 Zab协议是为分布式协调服务Zookeeper专门设计的一种 支持崩溃恢复 的 原子广播协议 ,是Zo 阅读全文
posted @ 2021-06-08 14:32
知白守黑,和光同尘
阅读(710)
评论(0)
推荐(0)
摘要:
paxos目的 Paxos算法是基于消息传递且具有高度容错特性的一致性算法,是目前公认的解决分布式一致性问题最有效的算法之一,其解决的问题就是在分布式系统中如何就某个值(决议)达成一致。 Paxos算法的前提假设是不存在拜占庭将军问题,即: 信道是安全的(信道可靠),发出的信号不会被篡改,因为Pax 阅读全文
posted @ 2021-06-08 14:30
知白守黑,和光同尘
阅读(405)
评论(0)
推荐(0)
摘要:
分布式的问题 分布式因为网络的不确定性,节点故障等情况,会带来各种复杂的问题。我们在学习分布式的相关理论时,一定要明确这样一个道理,就是:网络不可靠,网络分区以及节点宕机是常态,另外网络带宽资源是及其珍贵的,我们必须在网络不可靠、分区以及节点宕机的前提下,构建高性能、高可用的分布式系统。 分布式环境 阅读全文
posted @ 2021-06-08 14:29
知白守黑,和光同尘
阅读(269)
评论(0)
推荐(0)
摘要:
安装环境 系统:CentOS 7 Java环境: JDK8 下载及安装 Zookeeper有单机、伪集群、集群三种部署方式,我使用的Zookeeper版本是:Zookeeper-3.5.9 下载Zookeeper wget https://apache.claz.org/Zookeeper/Zook 阅读全文
posted @ 2021-06-08 14:28
知白守黑,和光同尘
阅读(107)
评论(0)
推荐(0)
摘要:
概要 当redis集群的主节点故障时,Sentinel集群将从剩余的从节点中选举一个新的主节点,有以下步骤: 故障节点主观下线 故障节点客观下线 Sentinel集群选举Leader Sentinel Leader决定新主节点 选举过程 主观下线 Sentinel集群的每一个Sentinel节点会定 阅读全文
posted @ 2021-06-08 14:26
知白守黑,和光同尘
阅读(376)
评论(0)
推荐(0)
摘要:
引言 系统中修改已有数据时,需要先读取,然后进行修改保存,此时很容易遇到并发问题。由于修改和保存不是原子操作,在并发场景下,部分对数据的操作可能会丢失。 在单服务器系统我们常用本地锁来避免并发带来的问题,然而,当服务采用集群方式部署时,本地锁无法在多个服务器之间生效,这时候保证数据的一致性就需要分布 阅读全文
posted @ 2021-06-08 14:25
知白守黑,和光同尘
阅读(107)
评论(0)
推荐(1)
摘要:
1. Redis 的击穿,穿透,雪崩 1.1 Redis 击穿 产生原因:在高并发的情况下,在某一时间点,在高频获取的key在此时过期,大量请求直接请求到服务器上,导致缓存击穿 解决方案: 可以将热点数据设置为永远不过期; 基于 redis or zookeeper 实现互斥锁,等待第一个请求构建完 阅读全文
posted @ 2021-06-08 14:23
知白守黑,和光同尘
阅读(188)
评论(0)
推荐(0)
摘要:
1.单节点redis的缺陷 单点故障导致服务不可用 redis的容量优先 redis的服务压力 2. 集群的AKF原则 AKF原则 x轴:全量,镜像 Y轴:业务,功能 Z轴:优先级,逻辑再拆分 2.1 redis使用AKF原则扩展为集群产生的问题 通过AKF一变多 :数据一致性问题 X轴:redis 阅读全文
posted @ 2021-06-08 14:19
知白守黑,和光同尘
阅读(135)
评论(0)
推荐(0)
摘要:
1. redis的持久化方式 RDB持久化 原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化 AOF持久化 原理是将Reids的操作日志以追加的方式写入文件 两种持久化方式区别 二者选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的 阅读全文
posted @ 2021-06-08 14:17
知白守黑,和光同尘
阅读(64)
评论(0)
推荐(0)

浙公网安备 33010602011771号