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

电子商务中的网站开发品牌网站建设哪家好

电子商务中的网站开发,品牌网站建设哪家好,网站建设前期规划方案,企业建设门户网站有哪些场景介绍 需求场景: 总部采集分支的数据,由于分支的 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.tj-hxxt.cn/news/93362.html

相关文章:

  • 扬州做网站的公司今日油价92汽油价格表
  • 生活信息网站建设seo是什么的缩写
  • 中山市做网站单个药品营销策划方案
  • 外贸三种语言网站建设广告联盟自动挂机赚钱
  • 南昌专业做网站公司优化是什么梗
  • 个人如何免费建网站凌哥seo
  • 排名优化网站百度站长平台账号购买
  • 免费源码下载一键优化免费下载
  • 如何做网站推广 求指点如何优化培训体系
  • 做聚美优品网站得多少钱推广工具有哪些
  • 阿里巴巴外发加工网是否真实百度关键词优化策略
  • 做打折的淘宝小卖家的网站网站点击量软件
  • 高端品牌网站设计欣赏公司推广渠道有哪些
  • 多个域名绑定一个网站对网站外部的搜索引擎优化
  • 做网站一定要域名嘛短视频平台推广方案
  • 721网站建设论坛推广案例
  • 网站可以做软著吗网址收录查询
  • 如何做网站的管理后台万能搜索 引擎
  • 广州制作网站开发友情链接qq群
  • 营销型网站建设规划书关键词网站
  • 做电影网站一年赚多少钱最能打动顾客的十句话
  • 做餐饮系统网站seo服务的内容
  • wap手机网站描述正确的是网络营销研究背景及意义
  • mac mini做网站服务器百度网页版下载安装
  • 长沙市建设网站平台的公司免费seo推广计划
  • 小型企业网站开发现状百度帐号登录入口
  • 做色情网站牟利200万判刑2023年8月份新冠
  • 做网站灵宝百度提交入口网站
  • wordpress上传到阿里云知乎seo优化
  • 新蔡哪有做网站建设的优化提升