算法
文章平均质量分 73
zhexiao27
Keep going.
展开
-
kafka介绍与深入
Kafka概述 什么是Kafka? Apache Kafka是一个分布式发布订阅消息系统/队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。 Kafka适合离线、在线的消息消费。 Kafka的消息保留在磁盘上,并在集群内复制以防止数据丢失。 Kafka构建在ZooKeeper同步服务之上。 它可以与Apache Storm、Apache Spark非常好地集成,并用于实时流式数据处理。 支持的客户端语言: C/C++ Python Go (AKA golang) .NET Node.js原创 2021-04-02 17:17:29 · 188 阅读 · 0 评论 -
贪心算法
贪心算法的概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。所以对所采用的贪心策略一定要仔细分析其是否满足无后效性。 基本思路 建立数学模型来描述问题。 把求解的问题分成若干个子问题。 对每一子问题求解,得原创 2021-01-27 17:13:23 · 147 阅读 · 0 评论 -
四种常见的限流算法实现 窗口实现、桶实现
固定窗口 使用计数器在周期内累加访问次数,当达到设定的阈值时就会触发限流策略。下一个周期开始时,清零重新开始计数。此算法在单机和分布式环境下实现都非常简单,可以使用Redis的incr原子自增和线程安全即可以实现。 图解: 这个算法常用于QPS限流和统计访问总量,对于秒级以上周期来说会存在非常严重的问题,那就是临界问题,如下图: 可以发现: 我们设置的限流策略是1分钟限制计数100。 在第一个周期最后5秒和第二个周期的开始5秒,请求的计数都是88;则在10秒时间内的请求计数达到了176次,已经远远超过之原创 2021-01-13 11:31:53 · 516 阅读 · 2 评论 -
一致性哈希算法原理
基本概念 一致性哈希算法(Consistent Hashing)最早在论文《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》中被提出。简单来说,一致性哈希将整个哈希值空间组织成一个虚拟的圆环,如假设某哈希函数H的值空间为0-2^32-1(即哈希值是一个32位无符号整形),整个哈希空间环如下: 整个空间按顺时针方向组织。0和232-原创 2020-12-29 10:50:35 · 292 阅读 · 0 评论