springboot~多节点应用里的雪花算法唯一性

news/2025/1/9 17:48:49/文章来源:https://www.cnblogs.com/lori/p/18641362

雪花算法的唯一性,在单个节点中是可以保证的,对应kubernetes中的应用,如果是横向扩展后,进行多副本的情况下,可能出现重复的ID,这需要我们按着pod_name进行一个workId的生成,我还是建议通过不引入第三方组件和网络请求的前提下解决这个问题,所以我修改了kubernetes的yaml文件。

  • k8s的yaml配置
apiVersion: apps/v1
kind: Deployment
metadata:name: my-app
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: my-image:latestenv:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.name  # 获取当前 Pod 的名称
  • 字符串(0~1024)数字方法,通过掩码的方式
public static int stringToNumber(String input) {// 使用CRC32计算字符串的哈希值CRC32 crc = new CRC32();byte[] bytes = input.getBytes(StandardCharsets.UTF_8);crc.update(bytes);// 获取哈希值并限制在0到1023之间long hashValue = crc.getValue();return (int) (hashValue % 1024);}
  • ID生成器的改进
@Slf4j
public class IdUtils {static SnowFlakeGenerator snowFlakeGenerator;public static String generateId() {if (snowFlakeGenerator == null) {long podNameCode = stringToNumber(Optional.ofNullable(System.getenv("POD_NAME")).orElse("1"));log.debug("podNameCode:{}", podNameCode);snowFlakeGenerator = new SnowFlakeGenerator(podNameCode);}return snowFlakeGenerator.hexNextId();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861411.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么编写库卡KUKA机器人专业程序,高级写法案例

KUKA程序写法案例分享换抢盘抓抓手程序:DEF Q1_PICKGRPPER( ) :程序名称INI :系统初始化 PTP HOME Vel= 100 % DEFAULT :HOME 原点OUT 272 Grip2_Bracket_Open State=TRUE :输出272抓手2防尘盖打开信号为真OUT 271 Grip2_Bra…

佩戴安全头盔监测识别摄像机

佩戴安全头盔监测识别摄像机作为一种先进的监控设备,对于提高工作场所的安全水平和管理效率具有重要意义。然而,在使用过程中,我们也需要注意保护员工的隐私和个人信息安全,加强数据的保护和管理,在促进工作场所安全的同时,也保障员工的合法权益。同时,也需要结合国家相…

收获满满:2024软工已通关

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315这个作业的目标 回顾课程学习情况并总结收获学号 102202114一、学期回顾 初闻软件工程 第一次听说软件工程,就知道这是一门不好…

客流量监测识别摄像机

客流量监测识别摄像机作为一种新型的监测设备,可以广泛应用于商场、车站、机场、展览馆等各类公共场所,帮助管理者有效管理客流量和优化服务质量。总之,客流量监测识别摄像机是一种有益的监控设备,为公共场所的管理和安全提供了有力支持。在使用时需谨慎操作,维护监控数据…

Danfoss FC51变频器参数设置

LCP 4个功能组:数字式显示器 菜单键 导航键 操作键和指示灯(绿:变频器打开黄:警告红:报警)点按[Menu]键可选择一下菜单:状态菜单:读数模式和手动启动模式下均可访问状态菜单。读数模式下屏幕将显示当前所选读数参数的值 快捷菜单:Quick Menu快速设置常用参数 主菜单:…

基于看板的项目管理工具

在项目管理领域,看板作为一种高效的可视化工具,正日益受到众多团队的青睐。它通过直观的展示方式,帮助团队成员清晰地了解项目的进展、任务分配以及工作流程。市面上基于看板的项目管理工具种类繁多,每一款都有其独特的特点和优势。本文将为大家介绍多款基于看板的项目管理…

图片PDF转换器

图片PDF转换器python 3.7 环境安装 python3 -m pip install -i https://mirrors.aliyun.com/pypi/simple/ Pillow==9.5.0 python3 -m pip install -i https://mirrors.aliyun.com/pypi/simple/ reportlab==4.2.5图片PDF转换器.py #!/usr/bin/python # -*- coding: UTF-8 -*- #i…

软件工程2024秋——个人总结作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13315这个作业的目标 回首过去,展望未来学号 102202149一、学程漫溯 1.1 初念软工途对于软件工程,我刚开始以为是会教我们做一些we…

VMware ESXi 8.0U3c macOS Unlocker OEM BIOS xFusion (超聚变) 定制版

VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS xFusion (超聚变) 定制版VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS xFusion (超聚变) 定制版 ESXi 8.0U3c 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科)、Hitachi (日立)、Fujits…

Axon Investigate 4.0.5 - 视频证据处理平台

Axon Investigate 4.0.5 - 视频证据处理平台Axon Investigate 4.0.5 - 视频证据处理平台 A simple, fast and forensically-sound solution to video evidence challenges 请访问原文链接:https://sysin.org/blog/axon-investigate/ 查看最新版。原创作品,转载请保留出处。 作…

Redis可视化工具推荐:Another Redis Desktop Manager下载与详细使用教程

Redis 可视化工具推荐:Another Redis Desktop Manager Redis 是一种高性能的键值数据库,广泛应用于缓存和消息队列等场景。对于开发者来说,命令行工具固然强大,但操作繁琐。而一款高效易用的可视化工具可以极大地提升使用效率。本篇将为大家推荐一款开源、跨平台且功能强大…

腾讯 StereoCrafter:2D 视频转 3D 视频效果;支付宝推出新 AI 视觉搜索产品「探一下」丨 RTE 开发者日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…