在做数据分发轮询的时候遇到一个问题,我们并不只是想把数据依次分发到每台机器上,而是想根据每条数据的id来判断,同一个id的数据只放到同一个机器上,而不是可能随机出现在任何一台机器上。

1.使用python的hash()函数失败:
开始直接想使用hash发现同一字符串每次结果不一样,查了下是python为了安全做过处理,实验如下:

id = 'asghu263ff3'
print(hash(id))

执行两次:
结果:

2436877783843336617
-8819405633836300430

2.使用hashlib.sha1()完美解决:

id = 'asfgqwf2234f2d1421'
#一句代码搞定
hash_num = int(hashlib.sha1(id.encode('utf-8')).hexdigest(), 16) % (10 ** 8)if hash_num%3 == 0:print("选择1号机器执行")
elif hash_num%3 == 1:print("选择2号机器执行")
else:print("选择3号机器执行")

Python 负载均衡,数据轮询 hash字符串 hashlib相关推荐

  1. 负载均衡算法 — 轮询

    负载均衡算法 - 轮询 目录 概述 简单轮询 加权轮询 平滑加权轮询 1. 概述 在分布式系统中,为了实现负载均衡,必然会涉及到负载调度算法,如 Nginx 和 RPC 服务发现等场景.常见的负载均衡 ...

  2. nginx负载均衡 加权轮询和ip_hash

    下面给大家总结了几种真正的nginx负载均衡的功能了,在此我们加了一个权重判断法就是根据nginx负载的状态实现分配访问用户到权重值少的机器了,具体配置如下. nginx为后端web服务器(apach ...

  3. 负载均衡--加权轮询算法(Weight Round)

    加权轮询算法:不同的后端服务器,在机器的配置和当前系统的负载方面,可能并不相同.因此,它们的抗压能力也不相同.给配置高.负载低的机器配置更高的权重,让其处理更多的请求:给配置低.负载高的机器分配较低的 ...

  4. Nginx学习之十二-负载均衡-加权轮询策略剖析

    本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更 ...

  5. 负载均衡算法--轮询法(Round Robin)

    在分布式系统中,为了实现系统的高性能.高并发.高可用,在构架中都会进行负载均衡设计,它是分布式系统的核心和中枢,负载均衡的好坏直接影响着整个系统的性能.负载均衡分为软件均衡和硬件均衡两类,比如apac ...

  6. spring boot robin 负载均衡之轮询策略

    轮询策略 robin的负载均衡默认的是轮询策略,假如微服务有A.B 2个节点,第一次请求时,访问A节点,第二次访问B节点,第三次访问A节点..... 实现思路 记录请求的次数为a,微服务节点个数为b, ...

  7. 负载均衡算法-轮询均衡

    ①轮询均衡( Round Robin):每一次来自网络的请求轮流分配给内部服务器.从1至N然后重新开始.此种均衡算法适合于服务器组中的所有服务器都有相同的软.硬件配置并且平均服务请求量相对均衡的情况.

  8. sofa-rpc负载均衡之轮询算法分析(RoundRobin)

    2019独角兽企业重金招聘Python工程师标准>>> 注意:我们分析的sofa-rpc版本是5.4.0. 图1 RoundRobinLoadBalancer的类继承图 1.一般的R ...

  9. 详解【负载均衡】(负载均衡算法、一致性hash、负载均衡架构分析)

    作者:duktig 博客:https://duktig.cn 优秀还努力.愿你付出甘之如饴,所得归于欢喜. 本文源码参看:https://github.com/duktig666/distribute ...

最新文章

  1. runtime 关联对象objc_setAssociatedObject
  2. c++编写手机小游戏代码_只需22行代码,用python编写自己的小游戏
  3. 逆向工程生成的Mapper.xml以及*Example.java详解
  4. python:校验邮箱格式
  5. Android 固定式底部上滑抽屉view
  6. python 3d渲染_python老司机带你玩玩炫酷的3D渲染,酷毙了!
  7. 【OpenCV 例程200篇】25. 图像的平移
  8. 宝马纯电动i4原型车谍照曝光 预计2021年上市
  9. spring data整合elasticsearch的applicationContext.xml文件模板
  10. Spring boot 之搭建
  11. Windows 8 开启 NetFX3
  12. 啊哈算法—解救小哈(深度优先搜索)
  13. python 移动/剪切文件
  14. shader函数整理
  15. 【评测】牛血清白蛋白(BSA)篇
  16. #Geek Founders# 蒋涛的 CES 2016 感受 - Day 4 (总结版)
  17. 在被线上大量日志输出导致性能瓶颈毒打了很多次之后总结出的经验
  18. matlab使用invfreqs出错,MATLAB实验2016剖析.doc
  19. 一日精通python编程_爱上Python:一日精通Python编程
  20. Win 10系统下,用stc-isp烧程序的时候,出现“串口已被其它程序打开或该串口不存在”的解决方法

热门文章

  1. Ubuntu上实现蓝牙串口通讯(SPP)
  2. 安装kanzi-平台要求
  3. 【采样算法】拉丁超立方采样
  4. android /linux休眠与唤醒(一)
  5. Kali使用中文输入法
  6. RecyclerView让置顶项置顶
  7. Android获取WiFi名称/路由器AP地址总结
  8. C# serialport串口接收数据异常,出现很多3F的解决方法
  9. 韩国创业公司Hdac试图通过区块链保障物联网未来
  10. Android R- AudioManager之音量调节(一)