摘要: RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。 为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用。 下面我们将具体细化 stub 结构的实现。 RPC 调用分类 RPC 调用分以 阅读全文
posted @ 2020-12-14 21:02 姚春辉 阅读(240) 评论(0) 推荐(0)
摘要: 分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。使用setnx、getset、expi 阅读全文
posted @ 2020-12-14 20:34 姚春辉 阅读(417) 评论(0) 推荐(0)
摘要: 有关Redisson作为实现分布式锁,总的分3大模块来讲。 1、Redisson实现分布式锁原理 2、Redisson实现分布式锁的源码解析 3、Redisson实现分布式锁的项目代码(可以用于实际项目中) 本文只介绍Redisson如何实现分布式锁的原理。其它的会在接下来的博客讲,最后有关Redi 阅读全文
posted @ 2020-12-14 20:32 姚春辉 阅读(116) 评论(0) 推荐(0)
摘要: 目录 1.Redis基础原理和知识 2.Redis持久化:RDB,AOF 3.部署redis企业级数据备份方案 4.如何通过读写分离来承载读请求QPS超过10万+(master+slave) 5 redis哨兵架构的相关基础知识的讲解 6 哨兵主备切换的数据丢失问题:异步复制、集群脑裂 7 redi 阅读全文
posted @ 2020-12-14 20:30 姚春辉 阅读(610) 评论(0) 推荐(0)
摘要: 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。 缓存 缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效 阅读全文
posted @ 2020-12-14 20:27 姚春辉 阅读(247) 评论(0) 推荐(0)
摘要: 常见的限流算法大致有三种: 令牌桶算法 漏桶算法 计数器算法 网上对令牌桶又细分为固定窗口计数器限流和滑动窗口计数器限流,下面将对这几种限流方式进行简单的介绍及代码实现。注意:代码中会考虑并发线程安全问题,非分布式限流Github地址:重构后的代码 固定窗口计数器限流 固定窗口计数器限流就是在固定时 阅读全文
posted @ 2020-12-14 20:16 姚春辉 阅读(3842) 评论(0) 推荐(0)
摘要: 最近的工作中需要对我们提供的一个API进行限流来保证服务的稳定行。 参考网络,提出了两个简单的方案: 1, Ngnix限流 Nginx在架构中起到请求转发与负载均衡器的作用。外部req首先到Nginx监听的80端口,然后Nginx将req交给到监听8080端口的APP服务器处理。处理结果再经由Ngi 阅读全文
posted @ 2020-12-14 20:12 姚春辉 阅读(524) 评论(0) 推荐(0)
摘要: 1.前序遍历 图1 对于当前节点,先输出该节点,然后输出他的左孩子,最后输出他的右孩子。以上图为例,递归的过程如下:(1):输出 1,接着左孩子;(2):输出 2,接着左孩子;(3):输出 4,左孩子为空,再接着右孩子;(4):输出 6,左孩子为空,再接着右孩子;(5):输出 7,左右孩子都为空,此 阅读全文
posted @ 2020-12-14 20:01 姚春辉 阅读(1658) 评论(0) 推荐(0)