logo头像

Aoho's Blog

由Consul谈到Raft

由Consul谈到Raft

在前一篇文章consul配置与实战中,介绍了consul的一些内幕及consul配置相关,并对项目中的一些实际配置进行展示。这篇文章重点介绍consul中所涉及到的一致性算法raft。 1. 背景分布式系统的一致性是相当重要的,即为C...

consul配置与实战

consul配置与实战

上一篇提到,项目用的分布式服务发现与注册组件是consul,这篇文章主要来讲下consul组件在项目中的应用以及相关介绍。本文以官方文档为主要参考consul文档。 1. consul介绍consul是一个服务管理软件,主要功能如下:...

snowflake升级版全局id生成

snowflake升级版全局id生成

1. 背景分布式系统或者微服务架构基本都采用了分库分表的设计,全局唯一id生成的需求变得很迫切。传统的单体应用,使用单库,数据库中自增id可以很方便实现。分库之后,首先需要分库键,分库键必然不能重复,所以传统的做法并不能满足需求。概括...

深入ThreadLocal

ThreadLocal主要是提供线程内部的局部变量,在每个线程内随时随地可取,隔离其他线程。 1. ThreadLocal接口1.1 ThreadLocal类接口很简单,只有4个方法,我们先来了解一下: void set(Obj...

mac下快速进入当前目录iterm2

win环境下,有直接在文件浏览的地址上,直接输入cmd,即可打开cmd命令框。笔者在macOS下,也想实现这样的功能,网上查了一下,可以成功实践。 1. 添加服务1git clone https://github.com/peterl...

HTTP 2实际应用

1. 背景介绍1.1 需要解决的问题本文来源于项目需要,项目所使用微服务框架为Spring Cloud,微服务之间的调用基于HTTP 1.X协议,上一篇文章 HTTPS vs HTTP 1.1 vs HTTP 2,介绍了http2 和...

HTTPS vs HTTP 1.1 vs HTTP 2

1. HTTPS协议原理分析1.1 需要解决的问题 身份验证:确保通信双方身份的真实性。 通信加密:通信的机密性、完整性依赖于算法与密钥,通信双方是如何选择算法与密钥的。 1.2相关概念 数字证书 CA(certification ...

mongodb 集群基础

mongodb 集群基础

1. MongoDB介绍 MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库。 它使用 C++编写。MongoDB 包含一下特点: 面向集合的存储:适合存储对象及JSON形式的数据。 动态查询:Mongo ...