
分布式
一只特立独行的SB猴子
程序猿暖男一枚。。。
展开
-
一致性Hash算法详解
目前正在维护公司的分布式任务调度平台,在任务节点的分配上使用到了一致性hash算法,特此记录,那么在后面的博文中会给出基于java实现的一致性hash算法的代码,以及分布式调度平台的一些设计思路。 1.hash算法 那么什么是hash算法呢,百度百科的定义如下: 哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。 普通的hash算法在分布式应用中的不足: 比如,在分布式的存储系统中,要将数据存储到具体的节点上,如果转载 2020-12-24 10:43:50 · 419 阅读 · 0 评论 -
雪花算法的原理和实现Java
SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保持自增的,后面的代码中有详细的注解。 这 64 个 bit 中,其中 1 个 bit 是不用的,然后用其中的 41 bit 作为毫秒数,用 10 bit 作为工作机器 id,12 bit 作为序列号。 给大家举个例子吧,比如下面那个 64 bit 的 long 型数字: 第一个部分.转载 2020-07-02 10:48:28 · 287 阅读 · 0 评论 -
深入理解分布式链路追踪系统
分布式服务化的阶段,传统的日志监控等方式无法很好达到跟踪调用,排查问题等需求。 各种服务之间调用: 1.如何快速发现问题? 2.如何判断故障影响范围? 3.如何梳理服务依赖以及依赖的合理性? 4.如何分析链路性能问题以及实时容量规划? 技术调研指标 面对各种链式追踪系统开源,我们要如何选择: 我们主要关注在请求处理期间各个调用的各项性能指标,比如:吞吐量(TPS)、响应时间及错...转载 2020-04-15 23:23:53 · 535 阅读 · 0 评论 -
漏桶算法与令牌桶算法
一、背景: 程序猿突然发现自己项目中的接口请求量突然涨到之前的100倍,没多久该接口几乎不可使用,并引发连锁反应导致整个系统崩溃。如何应对这种情况呢?生活给了我们答案:比如老式电闸都安装了保险丝,一旦有人使用超大功率的设备,保险丝就会烧断以保护各个电器不被强电流给烧坏。同理我们的接口也需要安装上“保险丝”,以防止非预期的请求对系统压力过大而引起的系统瘫痪,当流量过大时,可以采取拒绝或者引流等机制...原创 2020-04-10 00:27:33 · 203 阅读 · 0 评论