<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jizhibing的博客]]></title><description><![CDATA[天道酬勤]]></description><link>https://blog.youkuaiyun.com/a6470831</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a6470831]]></copyright><item><title><![CDATA[【ElasticSearch】（九）—— 集群问题]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/125667996</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/125667996</guid><author>a6470831</author><pubDate>Thu, 07 Jul 2022 22:10:39 +0800</pubDate><description><![CDATA[目录一、集群脑裂问题1.集群职责划分2.脑裂问题3.小结二、集群分布式存储1.分片存储测试2.分片存储原理三、集群分布式查询四、集群故障转移 elasticsearch中集群节点有不同的职责划分：默认情况下，集群中的任何一个节点都同时具备上述四种角色。职责分离可以让我们根据不同节点的需求分配不同的硬件去部署。而且避免业务之间的互相干扰。一个典型的es集群职责划分如图：  脑裂是因为集群中的节点失联导致的。例如一个集群中，主节点与其它节点失联：此时，node2和node3认为node1宕机，就会重新选主： 当]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（八）—— 自动补全]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/125667184</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/125667184</guid><author>a6470831</author><pubDate>Thu, 07 Jul 2022 21:39:00 +0800</pubDate><description><![CDATA[目录一、拼音分词器二、自定义分词器三、自动补全查询四、实现酒店搜索框自动补全1.修改酒店映射结构2.HotelDoc实体3.自动补全查询的JavaAPI当用户在搜索框输入字符时，我们应该提示出与该字符有关的搜索项，如图：这种根据用户输入的字母，提示完整词条的功能，就是自动补全了。因为需要根据拼音字母来推断，因此要用到拼音分词功能。要实现根据字母做补全，就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。地址：https://github.com/medcl/elasti]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（七）—— 聚合查询（aggs）]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124993556</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124993556</guid><author>a6470831</author><pubDate>Thu, 26 May 2022 23:37:35 +0800</pubDate><description><![CDATA[目录

一、聚合的定义

聚合种类

二、DSL实现聚合

1）Bucket聚合语法

2）聚合结果的排序

3）限度聚合范围

4）Metric聚合语法

5）小结

三、RestAPI实现聚合

1）API语法

2）代码实现







一、聚合的定义


聚合（aggregations）可以让我们极其方便的实现对数据的统计、分析、运算。例如：

我的网站的平均加载时间是多少？
	根据交易量，谁是我最有价值的客户？
	什么会被认为是我网络上的大文件？
	每个产品类别有多少产品？
实现这些统...]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（六）—— 搜索结果处理]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124935413</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124935413</guid><author>a6470831</author><pubDate>Mon, 23 May 2022 22:48:04 +0800</pubDate><description><![CDATA[目录

一、排序

1）普通字段排序

2）地理坐标排序

1、语法说明：

2、示例：

二、分页

1）基本的分页

2）深度分页问题

3）小结

三、高亮

1）高亮原理

2）实现高亮

1、高亮的语法

2、注意事项

3、示例

四、总结





一、排序

elasticsearch默认是根据相关度算分（_score）来排序，但是也支持自定义方式对搜索结果排序。可以排序字段类型有：keyword类型、数值类型、地理坐标类型、日期类型等。

1）普通字段排序

keywo...]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（五）—— DSL查询文档]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124851634</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124851634</guid><author>a6470831</author><pubDate>Thu, 19 May 2022 23:30:05 +0800</pubDate><description><![CDATA[目录

1）DSL查询分类

2）全文检索查询

1、使用场景

2、基本语法

3、示例

4、总结

3）精准查询

1、term 查询

2、range查询

3、总结

4）地理坐标查询

1、矩形范围查询

2、附近查询

5）复合查询

1、相关性算分

2、算分函数查询

3、布尔查询



elasticsearch的查询依然是基于JSON风格的DSL来实现的。

1）DSL查询分类

Elasticsearch提供了机遇JSON的DSL（Domain Specific Lan...]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（四）—— RestClient操作ES]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124790059</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124790059</guid><author>a6470831</author><pubDate>Tue, 17 May 2022 22:51:57 +0800</pubDate><description><![CDATA[目录

​编辑

一、RestClient操作索引

环境搭建

1、导入数据

2、导入项目

3、mapping映射分析

4、初始化RestClient

1）创建索引库

1、代码解读

2、完整示例

2）删除索引库

3）判断索引库是否存在

4）总结

二、RestClient操作文档

1）新增文档

1、索引库实体类

2、语法说明

3、完整代码

2）查询文档

1、语法说明

2、完整代码

3）删除文档

4）修改文档

1、语法说明

2、完整代码

5）批量导入文档

1、..]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（三）—— 索引及文档操作]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124788881</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124788881</guid><author>a6470831</author><pubDate>Sun, 15 May 2022 22:32:23 +0800</pubDate><description><![CDATA[目录



一.索引库操作

1) mapping映射属性

2)索引库的CRUD

1.创建索引库和映射

2.查询索引库

3.修改索引库

4.删除索引库

3）总结

二.文档操作

1）新增文档

2）查询文档

3）删除文档

4）修改文档

1.全量修改

2.增量修改

5）总结



一.索引库操作

索引库就类似数据库表，mapping映射就类似表的结构。

我们要向es中存储数据，必须先创建“库”和“表”。

1) mapping映射属性

mapping是对索引库中文档的约...]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（二）—— 安装elasticsearch]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124787155</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124787155</guid><author>a6470831</author><pubDate>Sun, 15 May 2022 21:22:14 +0800</pubDate><description><![CDATA[一.部署单点es

1.1.创建网络

因为我们还需要部署kibana容器，因此需要让es和kibana容器互联。这里先创建一个网络：


docker network create es-net

1.2.加载镜像

这里我们采用elasticsearch的7.12.1版本的镜像，这个镜像体积非常大，接近1G。不建议大家自己pull。

文章最后有提供了镜像的tar包：



大家将其上传到虚拟机中，然后运行命令加载即可：


# 导入数据
docker load -i es.tar

同理还...]]></description><category></category></item><item><title><![CDATA[【ElasticSearch】（一）—— 初识ES]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124720713</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124720713</guid><author>a6470831</author><pubDate>Wed, 11 May 2022 23:12:54 +0800</pubDate><description><![CDATA[目录



一、初识ElasticSearch

1）了解ES

1、elasticsearch的作用

2、ELK技术栈

3、elasticsearch和lucene

4、为什么不是其他搜索技术？

5、总结



一、初识ElasticSearch

1）了解ES

1、elasticsearch的作用


elasticsearch是一款非常强大的开源搜索引擎，具备非常多强大功能，可以帮助我们从海量数据中快速找到需要的内容


例如：

在百度搜索答案


在电商网站中搜索商品


在打车软件..]]></description><category></category></item><item><title><![CDATA[【微服务】（十六）—— 分布式事务Seata]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124677896</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124677896</guid><author>a6470831</author><pubDate>Tue, 10 May 2022 00:13:41 +0800</pubDate><description><![CDATA[目录

事务ACID原则

一、理论基础

1）CAP理论

CAP定理- Consistency

CAP定理- Availability

CAP定理-Partition tolerance

2）BASE理论

二、分布式事务Seata

1）初识seata

2）Seata架构

3）微服务集成seata

1、首先，引入seata相关依赖：

2、然后，配置application.yml，让微服务通过注册中心找到seata-tc-server：

三、XA模式

1）XA模式原理

2...]]></description><category></category></item><item><title><![CDATA[【微服务】（十五）—— Seata 的部署和集成]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124457912</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124457912</guid><author>a6470831</author><pubDate>Wed, 27 Apr 2022 19:10:13 +0800</pubDate><description><![CDATA[一、部署Seata的tc-server
1.下载
首先我们要下载seata-server包，地址在http😕/seata.io/zh-cn/blog/download.html

2.解压
在非中文目录解压缩这个zip包，其目录结构如下：

3.修改配置
修改conf目录下的registry.conf文件：

内容如下：
registry {
  # tc服务的注册中心类，这里选择nacos，也可以是eureka、zookeeper等
  type = "nacos"

  nacos {
    # s.]]></description><category></category></item><item><title><![CDATA[【微服务】（十四）—— Sentinel 规则持久化]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124438593</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124438593</guid><author>a6470831</author><pubDate>Tue, 26 Apr 2022 23:08:09 +0800</pubDate><description><![CDATA[目录

一、授权规则

1）授权规则

2）自定义异常结果

二、规则管理模式

1）规则管理模式-原始模式

2）规则管理模式-pull模式

3）规则管理模式-push模式

三、Sentinel 规则持久化

1）修改order-service服务

1.引入依赖

2.配置nacos地址

2）修改sentinel-dashboard源码

1. 解压

2. 修改nacos依赖

3. 添加nacos支持

4. 修改nacos地址

5. 配置nacos数据源

6. 修改前端页...]]></description><category></category></item><item><title><![CDATA[【微服务】（十三）—— Sentinel隔离和降级]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124416716</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124416716</guid><author>a6470831</author><pubDate>Mon, 25 Apr 2022 23:17:52 +0800</pubDate><description><![CDATA[目录

1）线程隔离（仓壁模式）

2）降级熔断

1、熔断策略-慢调用

2、熔断策略-异常比例

3、熔断策略-异常数据

3) Feign整合Sentinel

1、修改OrderService的application.yml文件，开启Feign的Sentinel功能

2、给FeignClient编写失败后的降级逻辑



虽然限流可以尽量避免因高并发而引起的服务故障，但服务还会因为其它原因而故障。而要将这些故障控制在一定范围，避免雪崩，就要靠线程隔离（舱壁模式）和熔断降级...]]></description><category></category></item><item><title><![CDATA[【微服务】（十二）—— Sentinel限流]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124393510</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124393510</guid><author>a6470831</author><pubDate>Sun, 24 Apr 2022 23:05:37 +0800</pubDate><description><![CDATA[目录

1）簇点链路

2）快速入门

1、设置流控规则：

2、jemeter测试：

3）流控模式

1、流控模式-直接

2、流控模式-关联

3、流控模式-链路

4）流控效果

1、流控效果-warm up

2、流控效果-排队等待

5）热点参数限流







1）簇点链路


簇点链路：就是项目内的调用链路，链路中被监控的每个接口就是一个资源。默认情况下sentinel会监控SpringMVC的每一个端点（Endpoint），因此SpringMVC的每一个端点（End...]]></description><category></category></item><item><title><![CDATA[【微服务】（十一）—— 初识Sentinel]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124371369</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124371369</guid><author>a6470831</author><pubDate>Sat, 23 Apr 2022 23:12:02 +0800</pubDate><description><![CDATA[目录



一、雪崩问题及解决方案

1）什么是雪崩效应

2）雪崩原因

3）解决方案

1、超时处理：

2、舱壁模式：

3、熔断降级：

二、服务保护技术对比

三、Sentinel介绍和安装

1）认识Sentinel

2）安装Sentinel控制台

1、下载jar包

2、访问控制台页面

3、修改配置

四、微服务整合Sentinel

1）引入sentinel依赖：

2）配置控制台地址：

3）访问微服务的任意端点，触发sentinel监控



一、雪崩问题及解决方案

...]]></description><category></category></item><item><title><![CDATA[【微服务】（十）—— 统一网关Gateway]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124356402</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124356402</guid><author>a6470831</author><pubDate>Fri, 22 Apr 2022 23:17:55 +0800</pubDate><description><![CDATA[一、概述

1）为什么需要网关


网关功能：

身份认证和权限校验
	服务路由、负载均衡
	请求限流




2）SpringCloud Gateway


在SpringCloud微服务体系中，有个很重要的组件就是网关，在1.x版本中都是采用的Zuul网关；但在2.x版本中，zuul的升级一直跳票，SpringCloud最后自己研发了一个网关替代Zuul，那就是SpringCloud Gateway

网上很多地方都说Zuul是阻塞的，Gateway是非阻塞的...]]></description><category></category></item><item><title><![CDATA[【微服务】（八）—— Eureka 平滑迁移 Nacos 方案]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124329421</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124329421</guid><author>a6470831</author><pubDate>Thu, 21 Apr 2022 19:43:03 +0800</pubDate><description><![CDATA[目录



一、多注册和聚合订阅平滑迁移架构

二、迁移步骤

第⼀步，支持多注册和多订阅

1、修改 pom.xml，添加 spring-cloud-starter-alibaba-nacos-discovery 依赖：

2、支持多注册

3、修改 Ribbon 配置，支持同时从多个注册中心订阅

4、将修改后的应⽤打包，并部署

5、验证迁移是否成功

6、完成应⽤迁移

第二步，迁移所有应⽤。

第三步，删除原有配置中心信息，完成迁移。

三、风险点和回滚

四、其他问题





一、多...]]></description><category></category></item><item><title><![CDATA[【微服务】（九）—— Feign]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124308429</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124308429</guid><author>a6470831</author><pubDate>Wed, 20 Apr 2022 23:07:08 +0800</pubDate><description><![CDATA[目录

​

一、简介　　

二、Feign简单应用

1）pom.xml引入Feign的依赖

2）代码改造

1、启动类添加注解 @EnableFeignClients

2、 添加调用Feign接口

三、Feign的自定义配置

1）方式一：基于配置

2）方式二：java代码方式

四、Feign 的性能优化

1）连接池配置

1、依赖引入：

2、配置连接池：

2）日志级别



一、简介　　

Feign是一个声明式 WebService 客户端，使用Feign能够让编写W...]]></description><category></category></item><item><title><![CDATA[【微服务】（七）—— Nacos注册中心]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124304352</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124304352</guid><author>a6470831</author><pubDate>Wed, 20 Apr 2022 19:32:09 +0800</pubDate><description><![CDATA[目录



一、Nacos 注册中心的设计原理

1、数据模型

2、数据⼀致性

3、负载均衡

4、健康检查

二、Nacos 注册中心服务数据模型

1、服务（Service）和服务实例（Instance）

1）定义服务



3）定义实例

4）实例元数据

5）持久化属性

2、集群（Cluster）

1、定义集群

3、生命周期

1）服务的⽣命周期

2）实例的⽣命周期

3）集群的⽣命周期

4）元数据的⽣命周期



一、Nacos 注册中心的设计原理





1、数据...]]></description><category></category></item><item><title><![CDATA[【微服务】（六）—— Nacos设计原理]]></title><link>https://blog.youkuaiyun.com/a6470831/article/details/124284476</link><guid>https://blog.youkuaiyun.com/a6470831/article/details/124284476</guid><author>a6470831</author><pubDate>Tue, 19 Apr 2022 23:06:54 +0800</pubDate><description><![CDATA[目录



一、简介

Nacos 起源

Nacos 定位

Nacos 优势

二、Nacos 总体设计

1）Nacos 架构

1、设计原则

2、架构图

3、用户层

4、业务层

5、内核层

6、插件

2) Nacos 配置模型

1、概念介绍

2、Nacos 配置模型

三、Nacos 内核设计

1）Nacos ⼀致性协议

1、为什么 Nacos 需要⼀致性协议

2、为什么 Nacos 选择了 Raft 以及 Distro

3、Nacos 的⼀致性协议层

2...]]></description><category></category></item></channel></rss>