Clay 的技术空间

用进废退 | 艺不压身

大纲

前言

本文主要介绍 Sentinel 整合主流框架,比如 OpenFeign、Spring Cloud Gateway 等。

阅读全文 »

ES 优化

  • 索引优化

    • 映射(Mapping):合理设计索引映射,避免使用动态映射,并为每个字段明确指定数据类型。
    • 字段类型:对于不需要全文搜索的字段,使用 keyword 类型而非 text 类型。
    • 合并(Merging):通过配置 index.merge 参数优化段合并,以减少 I/O 开销。
    • 刷新间隔:调整 index.refresh_interval 参数,减少刷新频率以提高写入性能(默认是 1 秒,可以根据实际需要调整)。
  • 查询优化

    • 缓存:利用 ES 的节点查询缓存和过滤器缓存来加速常见查询。
    • 分片首选项:设置 preference 参数来避免每次查询都访问不同的副本,从而提高缓存命中率。
    • 分页:避免深分页,使用 search_afterscroll 来处理大量结果集。
阅读全文 »

大纲

前言

官方资源

版本说明

在本文的所有案例中,各个组件统一使用以下版本:

组件版本说明
Spring Boot3.2.0
Spring Cloud2023.0.0
Spring Cloud Alibaba2022.0.0.0
Sentinel Dashboard1.8.7
阅读全文 »

大纲

前言

官方资源

版本说明

在本文的所有案例中,各个组件统一使用以下版本:

组件版本说明
Spring Boot3.2.0
Spring Cloud2023.0.0
Spring Cloud Alibaba2022.0.0.0
Sentinel Dashboard1.8.7
阅读全文 »

大纲

Consul 介绍

Consul 的简介

  • Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司使用 Go 语言开发,基于 Mozilla Public License 2.0 的协议进行开源。Consul 支持健康检查,并允许 HTTP 、gRPC 和 DNS 协议调用 API 存储键值对。
  • 一致性协议采用 Raft 算法,用来保证服务的高可用。使用 GOSSIP 协议管理成员和广播消息,并且支持 ACL 访问控制。
  • 命令行超级好用的虚拟机管理软件 Vgrant 也是 HashiCorp 公司开发的产品。
阅读全文 »

大纲

前言

Ribbon 停更

Netflix Ribbon 是 Netflix 发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon 客户端组件提供一系列完善的配置项,如连接超时、失败重试等。简单的说,就是在配置文件中列出 Load Balancer(简称 LB)后面所有的机器,Ribbon 会自动地帮助用户基于某种规则(如简单轮询,随机连接等)去选择连接这些机器。开发者使用 Ribbon 很容易就可以实现自定义的负载均衡算法。截止 2024 年 1 月,Netflix Ribbon 一直处理维护模式,也就是处于停更状态,官方说明如下图所示:

阅读全文 »