首页 > 其他分享 >golang 的github.com/sony/sonyflake IP问题bug

golang 的github.com/sony/sonyflake IP问题bug

时间:2023-12-25 09:45:30浏览次数:35  
标签:github IP golang sonyflake SnowId MachineID sony id

使用容器部署golang项目时,饮用了 github.com/sony/sonyflake 生成snow id,初始化时不传入任何参数:

SnowId = sonyflake.NewSonyflake(sonyflake.Settings{})

在容器的ip设置设置为类似:192.18.10.8时,调用生成id存在空指针报错。

snowId, err := global_conf.SnowId.NextID()

处理方式,初始化时传入 MachineID 参数,MachineID如果实际业务中没有设计多个容器id,为避免重复可以使用随机数。

SnowId = sonyflake.NewSonyflake(sonyflake.Settings{MachineID: MachineID})
func MachineID() (uint16, error) {
	id := rand.Int63n(10000)
	return uint16(id), nil
}

标签:github,IP,golang,sonyflake,SnowId,MachineID,sony,id
From: https://www.cnblogs.com/jing1024/p/17925334.html

相关文章

  • numpy、scipy、pandas、matplotlib的读书报告
    1、NumpyNumPy(NumericalPython)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy是一个运行速度非常快的数学库,主要用于数组计算,包含:一个强大的N维数组对象ndarray。广播功能函数。整合C/C++/Fortran代码......
  • PHP 操作符spaceship
    PHP操作符spaceshipPHP7.0及以后的版本引入了spaceship操作符(<=>,也被称为三向比较运算符或组合比较运算符),这是一个非常有用的语法糖,用于比较两个表达式的大小。这个操作符返回一个整数值,表示两个表达式之间的关系,如下所示:如果$a小于$b,spaceship操作符返回-1。如果$a等于......
  • JavaScript(JS) 数组
    ​ JavaScript数组是一个可变长度的对象,用于存储多个值。数组的值可以是任何类型,包括数字、字符串、对象、函数等。参考文档:JavaScript(JS)数组-CJavaPy1、创建数组可以使用以下方式创建数组:使用方括号[]来创建一个空数组:JavaScriptconstarr=[]; 使用 A......
  • [Luogu] P1058 [NOIP2008 普及组] 立体图
    P1058[NOIP2008普及组]立体图模拟赛时候要是做出来这题就能拿饮料了:(题目传送门思路先打个输出长方体的函数:(其中\((x,y)\)表示该长方体的左上角)voiddraw(intx,inty){c[x][y+2]='+';c[x][y+6]='+';c[x+2][y]='+';c[x+2][y+4]='+';c[x+5][y]='+';c[x+5]......
  • Golang 常用工具记录
    Golang常用工具记录1golang类1.1日常使用的copier复制结构体到另外一个结构体等等类似的功能asynqGo中简单、可靠、高效的分布式任务队列,使用redis做为brokermachineryMachinery是基于分布式消息传递的异步任务队列/作业队列。restyresty是Go语言的一个H......
  • 【ScyllaDB】Data Manipulation
    介绍CQL支持的用于插入、更新、删除和查询数据的语句。SELECT从data中查询数据使用SELECT语句完成:select_statement:SELECT[DISTINCT](`select_clause`|'*'):FROM`table_name`:[WHERE`where_clause`]:[......
  • Typescript 类型基础操作
    Typescript类型基础Typescript的类型系统非常强大,它可以让你通过类型操作符基于现有的类型创建出新的类型。在面对复杂的类型需求的时候,可以通过下面的常见类型操作使类型创建更加简单、代码更加容易维护。1、泛型泛型主要是为了解决类型复用的问题。可以说泛型给了你在使用......
  • RIPEMD加密算法:原理、应用与安全性
    一、引言在信息时代,数据安全愈发受到重视,加密算法作为保障信息安全的关键技术,其性能和安全性备受关注。RIPEMD(RACEIntegrityPrimitivesEvaluationMessageDigest)加密算法作为一种著名的哈希函数,广泛应用于网络安全、数据完整性等领域。本文将从各个方面介绍RIPEMD加密算......
  • Debian12 (雷池WAF SafeLine)通过 EUI64 固定 IPv6 地址后缀、获取无状态 SLAAC
    说明Debian12(KDE桌面)网络管理(IPv4、IPv6)已默认不再由内核直接管理,转而使用由NetworkManager管理。若要固定IPv6后缀并实现SLAAC无状态管理,则需要修改NetworkManager配置。图形界面配置网络配置完成后,检查网络地址ipaddshowenp3s0,公网和内网IPv6后缀......
  • 幽灵和熔断+LR/SC的实现和使用+Consistent和Coherent+memory 属性 Device-nGnRnE+IP-X
    幽灵和熔断幽灵和熔断是基于瞬态指令流的缓存侧信道攻击。在瞬态指令流中被执行的内存加载指令如果将一个数据带入了缓存,则即使流水线回滚期间处理器丢弃了该指令返回的访存结果,已经被修改的缓存状态却无法撤销。由此,攻击者可以通过监测缓存的变化来推断受害者程序的访存地址,如果......