分布式
文章平均质量分 84
菜瓜_牛顿
枪如惊雷,照一身肝胆
展开
-
*高并发的限流
当请求量很高,服务器负载也很高,如果不做限流,当请求超过服务器承载极限的时候,系统就会崩溃,导致所有人都不能访问。限流算法计数器计数器限流算法也是比较常用的,主要用来限制总并发数。比如限流 qps 为 100 ,算法的实现思路就是从第一个请求进来开始计时,在接下去的 1s 内,每来一个请求,就把计数加 1 ,如果累加的数字达到了 100 ,那么后续的请求就会被全部拒绝。等到 1s 结束后,把计数恢复成 0 ,重新开始计数。弊端:如果我在单位时间 1s 内的前 10ms ,已经通过了 100 个请求,转载 2021-08-15 16:40:50 · 132 阅读 · 0 评论 -
如何设计一个tranceID
业务上为了监控和查证case,通常会有trance概念。trance:一次请求的完整跟踪traceID:一次trace生成的唯一id标识业务层埋点业务侧埋点为提高性能可以使用Disruptor环形队列数据测消费队列中的数据通过kafka发送,消费者订阅消息去做存储。数据存储实际的trace信息可以用HBASE存储,以traceID为rowkey存储,也可以用duridelasticSearch 只存索引一次检索 先通过es获取traceID,在查HBASEweb平台一般会有web原创 2021-07-21 20:46:20 · 1233 阅读 · 0 评论 -
一致性Hash算法
1、余数Hash比方说,字符串str对应的HashCode是50、服务器的数目是3,取余数得到1,str对应节点Node1,所以路由算法把str路由到Node1服务器上。优点:简单,hashcode随机性比较强,所以这种方式有相对均衡的分布;缺点:服务器集群的伸缩性不好,当有新节点加入或者节点退出时,会造成大量数据无法正确命中。2、一致性Hash算法一致性 Hash 算法通过构建环状的 Hash 空间替线性 Hash 空间的方法解决了这个问题,整个 Hash 空间被构建成一个首位相接的环。其原创 2021-07-05 15:28:28 · 214 阅读 · 0 评论 -
分布式事务
CAP定理在一个分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)三者不可兼得。一致性:在分布式系统的所有数据备份中,在同一时刻是否有同样的值(等同于所有节点都访问同一份最新的数据副本)。 可用性:在集群中一部分节点发生故障后,集群整体能否响应客户端的读写请求(对数据更新具备高可用性)。 分区容错性:系统如果不能在时限内达成数据的一致性,就意味着发生了分区,必须就当前操作在C和A之间做出选择。以实际效果而言,分原创 2020-06-04 11:08:22 · 248 阅读 · 0 评论