随笔分类 -  分布式

摘要:分布式协调-Zookeeper(集群&ZAB&一致性) 前面对于zk的一些特性以及如何使用这些特性聊了聊,但是zk作为这样一个重要的中间件,我想瞅瞅他的底层实现原理。并且我们知道每个中间件都必须实现高可用,那我们就有必要去剖析一下他的集群特征。本篇所涉及到的点有: 集群搭建 节点集群角色 ZAB协议 阅读全文
posted @ 2021-11-25 20:29 UpGx 阅读(374) 评论(2) 推荐(1)
摘要:分布式协调-Zookeeper(分布式锁&Leader选举) 在微服务的情况下,我们通常会通过集群部署去缓解节点压力,而如果有多个用户同时去抢一个商品,如果我们后端不去做处理,那肯定就出现问题。而传统的synchronized是无法解决跨进程的问题的。那我们肯定就要引入一个第三方的视角去帮我们来解决 阅读全文
posted @ 2021-11-24 18:33 UpGx 阅读(215) 评论(0) 推荐(1)
摘要:分布式协调-Zookeeper(手写配置中心&动态刷新) 前面我们分析了SpringBoot加载environment的源码, 并且也聊了Zookeeper的基本使用以及特性, 这里我想对他们两个进行一个结合,实现配置中心。因为前面我们在聊ShardingSphere使用它做了配置的自动更新,我想知 阅读全文
posted @ 2021-11-20 08:22 UpGx 阅读(759) 评论(0) 推荐(2)
摘要:分布式协调-Zookeeper使用(Watcher、Session、Curator、Acl) 前面说到zk可以为shardingSphere当做动态配置的一个中间件,然后聊了一下zk的大体介绍,本篇咱们聊聊他的一些常见的特性,并且对其进行相关阐释,同时使用Curator作为Demo。本篇会聊到: 【 阅读全文
posted @ 2021-11-17 19:50 UpGx 阅读(405) 评论(0) 推荐(2)
摘要:分布式存储-ShardingSphere 分布式治理 (based on zookeeper) 其实前面几篇,关于shardingSphere的我知道的功能点已经聊得差不多了,但是现在多节点集群部署的方式已经成为了一种趋势,而如果每个节点中的配置文件都需要手动一个个修改的话,那将为运维工作带来了很大 阅读全文
posted @ 2021-11-16 12:02 UpGx 阅读(792) 评论(0) 推荐(2)
摘要:分布式存储-ShardingSphere(读写分离&分布式事务) 前面聊到ShardingSphere的一些配置和使用,但是作为一个数据库中间件,它可以做的可不是仅仅进行分库和分表。本篇想聊聊 它对mysql读写分离的支持 它支持的分布式事务,默认的管理器是【Atomikos】 同时也会搭建一主一从 阅读全文
posted @ 2021-11-10 18:10 UpGx 阅读(1081) 评论(0) 推荐(2)
摘要:分布式存储-ShardingSphere(应用) 前面我们没有使用中间件去进行分库分表而没有使用任何中间件,本章给大家介绍一个分库分表的中间件shardingSphere 。它包含三款开源分布式数据库中间件解决方案. Sharding-JDBC【服务端代理】本篇我们主要聊他:它定位的是一个增强版的J 阅读全文
posted @ 2021-11-04 11:34 UpGx 阅读(580) 评论(0) 推荐(3)
摘要:关系型数据库优化&分库分表(Outline) 前面我们聊了NoSql中的Redis,但是实际上,大部分公司存储依然使用的是关系型数据库,因为在很多场景下,关系型数据库依然是一个很好的存储解决方案,而Nosql这些组件实际上做的更多的是一些辅助工作,这一篇想在全局的层间聊聊,会提到一些分库分表的一些东 阅读全文
posted @ 2021-10-28 20:19 UpGx 阅读(471) 评论(0) 推荐(3)
摘要:分布式存储-Redis高可用架构剖析 前面说到哨兵集群最初状态都是没有leader的,他们是通过raft算法选出leader,但是没有深入聊raft,所以本章聊聊raft。接着聊聊Redis Cluster集群搭建,以及gossip协议。最终对redis这里做一个总结。因为我们一直在聊存储和分布式所 阅读全文
posted @ 2021-10-24 15:14 UpGx 阅读(342) 评论(1) 推荐(3)
摘要:分布式存储-Redis持久化&高可用 我们知道Redis很强大的一部分原因是因为它的数据是存储在内存中的,那如果服务器挂了之后,是不是我们的数据会丢失了呢?那我们需要把内存中的数据通过一个机制给它持久化,从而对数据的安全进行保障。本篇会聊到: 两种数据存储机制【RDB】 和【AOF】 哨兵模式 Re 阅读全文
posted @ 2021-10-22 15:28 UpGx 阅读(188) 评论(2) 推荐(3)
摘要:分布式存储-Redis高性能的原理 前面聊了网络通信,当我们连接Redis的时候,就是一次通信的过程,所以我们讲Redis的高性能的根本之一就是,网络通信。前面有朋友问到我Redis可以同时处理那么多并发的原因是不是和通信中的多路复用有关,我答应他在后续的章节中讲讲,所以本章聊聊 他的底层和多路复用 阅读全文
posted @ 2021-10-14 18:51 UpGx 阅读(247) 评论(4) 推荐(0)
摘要:分布式-通信(NIO&BIO&网络模型&零拷贝) 前面聊到redis和rabbit,那我们是如何他他们进行通信的呢?所以想聊聊这个问题。在我们分布式架构中,一个重要的点就是通信,客户端和服务端的通信、微服务之间、中间件。而通信直接影响到用户的体验,比如我的服务器只能支持100个用户同时和我通信,而这 阅读全文
posted @ 2021-08-13 20:49 UpGx 阅读(348) 评论(2) 推荐(0)
摘要:分布式存储-Redisson&分布式锁&源码分析 前面讲了redis的使用,本篇聊聊如何使用利用redis的客户端Redisson去实现分布式锁,并且分析他的源码,剖析如何实现,源码中包含一些点,我们也会聊到 Lua脚本 Redis的Pub&Sub 时间轮 分布式锁 实际上分布式锁和我们之前讲的排它 阅读全文
posted @ 2021-08-06 23:22 UpGx 阅读(333) 评论(3) 推荐(0)
摘要:分布式存储-Redis实战&常见问题解决 前面讲了一些Redis的使用场景和数据类型,本章会聊到: 一个抽奖的例子来阐述redis如何被应用去解决实际问题(代码有点多,不适合放在博文中,如需请留言,我可以发送),并且会使用到前面并发模块聊的CountDownLatch和springBoot中的事件去 阅读全文
posted @ 2021-08-01 18:29 UpGx 阅读(303) 评论(0) 推荐(1)
摘要:分布式存储-Redis&常用数据库(Profile) 实际上我们使用Redis的初衷就是为了优化数据库,当我们用户的行为增加了,我们数据库的IO就增加了,Redis的数据是存储在内存中,而我们的传统的数据的数据是存储在磁盘中,就存储在内存这一方面Redis就优化了数据的读取速度。本篇中聊一聊常用的R 阅读全文
posted @ 2021-07-26 10:32 UpGx 阅读(510) 评论(0) 推荐(0)