Posts
All the articles I've posted.
-
ChatGPT Next Web 打造个人专属 ChatGPT
概览 当前 ChatGPT 大为流行,可以说是火爆全网。为了体验 ChatGPT,不少用户可能采用在代理网站充值的方式使用。 其实,开源社区已有不少 ChatGPT 的使用方案,例如,https://poe.com/ 提供基于多种模型的智能问答服务,可以供用户直接免费体验使用。 ChatGPT...
-
Go 并发:Channel 通道
在上一篇文章《Go 并发机制:Goroutine》中,我们讨论了 Go 如何使用 goroutine 实现并发。本文我们继续讨论 goroutine 如何利用 channel 来进行通信。 什么是 channel Channel,通道,可看作是 goroutine 进行通信的管道(pipe)。...
-
Go 并发机制:Goroutine
Go 是当前一门热门的编程语言,其优秀的并发特性吸引了无数程序员的目光。 Go 的并发特性是一个比较大的话题,笔者计划从以下三个方面讨论: Go goroutine Go channel Go select 本文讨论 Go 的 goroutine 并发机制。 并发与并行 在讨论 gorouti...
-
Apache Bench ab 性能测试工具入门简介
Apache Bench,即 工具,是 Apache 提供的用来对 HTTP Web 服务器进行性能测试的工具。 命令不仅可以对传统的 Apache Web 服务器进行性能测试,也可以对其他的 Web 服务器进行性能测试,使用起来十分方便。 安装 在笔者 MacBook 上, 工具已安装好。...
-
Raft 共识算法学习笔记 三:成员变更
文章 《Raft 共识算法学习笔记 一:领导人选举》 和 《Raft 共识算法学习笔记 二:日志复制》 分别讲述了 Raft 算法如何进行领导人选举和如何进行日志复制。 这篇文章继续讲述 Raft 算法如何处理集群成员节点变更的问题。 考虑一种场景,原来 Raft 集群中存在三个节点,现在需要...
-
Raft 共识算法学习笔记 二:日志复制
文章 Raft 共识算法学习笔记 一:领导人选举 描述了 Raft 算法如何进行领导者选举,本文描述 Raft 共识算法如何进行日志复制。 复制状态机 在 Raft 集群中,每个服务器可以看成是一个复制状态机(Replicated State Machine),如下图。 复制状态机通常基于复制...
-
Raft 共识算法学习笔记 一:领导者选举
Raft 算法是现在分布式系统开发首选的共识算法。文章 《图解 Paxos 算法》 介绍了 Paxos 共识算法,绝大多数选用 Paxos 算法的系统(比如 Cubby),都是在 Raft 算法发布前开发的,当时没得选。新系统绝大多数选择了 Raft 算法,例如,Etcd,Consul,等。就...
-
图解 Paxos 算法
Paxos 算法由 Leslie Lamport 在 1989 年提出的一个分布式共识算法,Paxos 算法较难理解,本文尝试以图形化方案解释 Paxos 算法。 本文在很大篇幅参考了韩健极客时间的课程《分布式协议与算法》,有兴趣了解韩老师其他课程的同学可以购买来学习下。 Lamport 提出...
-
Spring Cloud Gateway 网关
Spring Cloud 在最新版本 开始,已去除了 Zuul 网关的使用,改用 Spring Cloud Gateway 作为网关。 Spring Cloud Gateway 基于 Spring WebFlux 框架实现,相对于 Zuul 来说,性能更高。 本文讲述如何在 Spring C...
-
Spring Cloud + MyBatis + Druid 动态数据源实现
最近公司某项目计划对数据库进行水平分库处理,因此需要实现程序根据参数自动切换数据库的功能。 本文讲述如何在 Spring Cloud MyBatis Druid Oracle 环境下实现动态数据源切换的功能。 配置数据源 在两个 Oracle 数据库创建 表,并插入几行数据: 为便于标识不同...