Clay 的技术空间

用进废退 | 艺不压身

大纲

前言

Ribbon 停更

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

阅读全文 »

前言

从 Qt 5.15 开始,Qt 的开源版本只支持在线安装,不再提供离线安装包。使用在线安装器可以安装 Qt 5.9 之后 Qt 5 和 Qt 6 的各个子版本。

Qt 的长期技术支持版本

  • Qt 6 发布后,Qt 5 仍然在更新,Qt 5 系列的最后一个长期技术支持版本是 5.15
  • Qt 6 系列的第一个长期技术支持版本是 6.2,包含了 Qt 框架中的所有模块。

官方下载地址

阅读全文 »

大纲

概述

高可用架构方案分类

高可用方案保证数据强一致性使用说明描述
主从复制支持单主只适用于对可用性和数据一致性要求较低的业务场景。
MMM支持单主基本淘汰了,在一致性和高并发稳定性等方面有些问题。
MHA支持单主有少数开发者还在用,但也有些问题,也是趋于淘汰的 MySQL 主从高可用方案。
MGR支持单主 / 多主基于 MySQL 官方从 5.7.17 版本开始引入的组复制技术。
MySQL Cluster支持多主 MySQL 官方提供的一种分布式数据库解决方案,只支持 NDB 引擎。
Galera Cluster支持多主引领时代的主从复制高可用技术。
Galera Cluster for MySQL支持多主 MySQL 对 Galera Cluster 的实现。
MariaDB Galera Cluster (MGC)支持多主 MariaDB 对 Galera Cluster 的实现。
Percona XtraDB Cluster (PXC)支持多主 Percona 对 Galera Cluster 的实现,目前业界使用 PXC 的会多一些。
MySQL InnoDB Cluster支持单主 / 多主 MySQL 官方推出的一套完整高可用性解决方案。
阅读全文 »

大纲

前言

在开发过程中经常会遇到这样一个问题,每天或者每月必须定时去执行一条 SQL 语句,下面这篇文章主要给大家介绍如何使用 MySQL 自带的事件调度器定时执行 SQL 语句。

启用事件调度器

查看事件调度器的运行状态

1
show variables like '%sche%';

阅读全文 »

大纲

前言

本文主要介绍 SpringBoot 3 如何使用 AOT 技术,包括在 Windows、Linux 平台使用 GraalVM 将 SpringBoot 应用编译成原生镜像(二进制可执行文件)。

AOT 与 JIT

  • AOT:Ahead of Time(提前编译),程序执行前,全部被编译成机器码
  • JIT:Just in Time(即时编译),程序边编译边运行

编译器与解释器

编程语言的分类

  • 编译型语言:依赖编译器 (Complier),如 C、C++
  • 解释型语言:依赖解释器 (Interpreter),如 JavaScrpt、Python
阅读全文 »

大纲

前言

本文主要介绍 SpringBoot 3 如何整合 Actuator、Prometheus 与 Grafana,实现微服务应用的监控。

官方文档

概念介绍

可观测性

可观测性 (Observability) 一般是指对线上应用进行观测、监控、预警等,包括的详细内容如下:

  • 健康状况:组件状态、存活状态等,属于 Health 范畴
  • 运行指标:CPU、内存、垃圾回收、吞吐量、响应成功率等,属于 Metrics 范畴
  • 链路追踪
  • ……
阅读全文 »

前言

本文主要介绍如何使用 Docker 在本地快速搭建 SpringBoot 3 的开发环境(单机),其中包括 Redis,ZooKeeper,Kafka,Kafka-UI,Prometheus,Grafana 服务的安装。

版本说明

软件版本说明
Docker24.0.7
CentOS7.9 宿主机操作系统
阅读全文 »