当前位置: 首页 > news >正文

凡客资源seo服务运用什么技术

凡客资源,seo服务运用什么技术,做网站 空间还是服务器,网站建设适用税种场景介绍 需求场景: 总部采集分支的数据,由于分支的 id 是子增的主键 id,所以会出现重复的 id,但是这个 id 需要作为标识,没有实际作用,这里选择的是分布式 id 雪花算法生成 id 存储用来标识,这…

场景介绍

需求场景: 总部采集分支的数据,由于分支的 id 是子增的主键 id,所以会出现重复的 id,但是这个 id 需要作为标识,没有实际作用,这里选择的是分布式 id 雪花算法生成 id 存储用来标识,这个项目基于 gva 进行开发的,可以使用 sonyflake snowflake 两个实现方式都可以解决这个问题,这里选择 snowflake 进行设计

什么是雪花算法

雪花算法,由Twitter开源,是一种分布式唯一ID生成算法。这种算法的主要特点是简单、高效,生成的64位整数ID全局唯一,且趋势递增。在单机上,雪花算法生成的ID也能保持递增特性,但在不同的机器上,由于各自有不同的时间戳,因此生成的ID不会冲突。

这种算法的性能相当高,每秒中能生成数百万的自增ID。因此,雪花算法被广泛应用于分布式系统中需要唯一ID的场景。例如,美团开源的分布式ID生成器Leaf也采用了雪花算法来保证全局唯一和趋势递增。
在这里插入图片描述

代码实现

我这边演示是通过插件注入的方式进行对 gva 进行二开,在 gva 后端模块的 server/plugin 中创建一个新的业务目录,里面创建一个 utils 工具文件夹,然后创建一个名字为 snowflake.go 文件,并且在 server 的全局 config.yaml文件配置一个 snowflake,在 main.go 主函数进行初始化以后就可以生成对应的雪花 id 了

拉取 snowflake

go get github.com/bwmarrin/snowflake

config.yaml 添加下面内容

snowflake:start-time: "2024-01-01" # stringmachineID: 1 # int64

plugin/工程目录添加config
在这里插入图片描述

// Snowflake 雪花机器结构体
type Snowflake struct {StartTime string `mapstructure:"start-time" json:"start-time" yaml:"start-time"`MachineID int64  `mapstructure:"machineID" json:"machineID" yaml:"machineID"`
}

全局config/config.go 中绑定注入这个 Snowflake 结构体

type Server struct {..........// 雪花Snowflake config.Snowflake `mapstructure:"snowflake" json:"snowflake" yaml:"snowflake"`
}

plugin/项目目录 创建 utils/snowflake.go

package utilsimport ("errors"sf "github.com/bwmarrin/snowflake""time"
)var node *sf.Node// SnowflakeInit 初始化
func SnowflakeInit(startTime string, machineID int64) (err error) {var start_time time.Timestart_time, err = time.Parse("2006-01-02", startTime)if err != nil {return errors.New("生成 id 失败")}sf.Epoch = start_time.UnixNano() / 1000000node, err = sf.NewNode(machineID)return
}// GenID 生成雪花 id
func GenID() int64 {return node.Generate().Int64()
}

主函数 main.go 初始化这个值

func main() {.....// 初始化雪花算法方法 SnowflakeInitif err := utils.SnowflakeInit(global.GVA_CONFIG.Snowflake.StartTime, global.GVA_CONFIG.Snowflake.MachineID); err != nil {fmt.Println("初始化雪花算法失败", err)return}fmt.Println("测试 id", utils.GenID())
}

结果
在这里插入图片描述

http://www.sczhlp.com/news/84743/

相关文章:

  • 免域名x网站影视网站建设教程
  • 广州网站 制作信科便宜网站接入地查询
  • 网站建设思维导图房产系统平台
  • 你认为优酷该网站哪些地方可以做的更好_为什么?上海专业做网站的
  • 深圳网站建设与制作公司网站建设明薇通网络售后好
  • 如何免费注册网站域名房地产开发公司网站源码
  • 网站开发费用一般为多少淘宝wordpress模板
  • 重庆江北营销型网站建设公司推荐网页设计大作业
  • 贵阳公司网站兰州app定制
  • 论文解读-《Prompt Engineering Through the Lens of Optimal Control》 - zhang
  • 建设项目水资源论证网站网站建设公司与维护
  • 想做个人域名网站怎么做淘宝客网站能用淘宝图标做标志吗
  • 苏州营销型网站推广惠州网站seo收费
  • 网站建设哪便宜现在网站的外部链接怎么做
  • 如何自己做网页长沙官网网站推广优化
  • 泉州网站建设技术外包定制做网站
  • wordpress 发布网站如何自建购物网站
  • 北京网站优化校学费工作室网站需要备案吗
  • 做任务赚取佣金网站网站企业建设公司排名
  • 电脑做网站空间手机网站建设 小程序
  • 《电视软件安装包》
  • Modbus开发不头疼:极简指南,半小时搞定基础配置
  • 商丘做网站的公司开源网站搭建
  • 做网站的技术困难建设工程协会网站查询
  • 西宁市网站建设价格wordpress代码插件
  • 优秀企业网站设计制作门户网站设计欣赏
  • 企业网站开发韵茵建站网页怎么打不开
  • 英文建站西班牙语网站建设
  • 建设银行长沙招聘网站怎么做局域网网站
  • 惠州seo网站推广手机网站案列