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

建站模板有哪些网站建站的流程

建站模板有哪些,网站建站的流程,赚钱软件微信提现,怎样才能创建自己的网站欢迎来到啾啾的博客#x1f431;。 记录学习点滴。分享工作思考和实用技巧#xff0c;偶尔也分享一些杂谈#x1f4ac;。 有很多很多不足的地方#xff0c;欢迎评论交流#xff0c;感谢您的阅读和评论#x1f604;。 目录 1 分布式ID2 问题2.1 时钟回拨2.1.1 毫秒级时钟回… 欢迎来到啾啾的博客。 记录学习点滴。分享工作思考和实用技巧偶尔也分享一些杂谈。 有很多很多不足的地方欢迎评论交流感谢您的阅读和评论。 目录 1 分布式ID2 问题2.1 时钟回拨2.1.1 毫秒级时钟回拨则进行等待2.1.2 引入时钟回拨位2.1.3 基于外部2.1.4 混合时间戳 2.2 序列号耗尽2.2.1 等待时间戳2.2.2 调整结构增加序列号位数2.2.3 多ID生成器 现在典型的八股都是凝练了问题背后有着对问题的认知和解决思路。 一直想写一个八股系列从问题到原理。从这篇开始吧。 面试题分布式ID时钟回拨怎么处理序列号耗尽了怎么办 1 分布式ID 分布式ID均会有一些需求。 高性能有序 可维护包含时间 可用唯一 结构经常是多段结构以UUIDv7为例 [ 48位毫秒时间戳 ] [ 4位版本号7 ] [ 76位随机数 ]基于此经常面临的问题如下。 2 问题 2.1 时钟回拨 2.1.1 毫秒级时钟回拨则进行等待 毫秒级时钟回拨且对延迟不敏感场景。让ID生成器等待系统时钟追赶上上一次时间。 long generateId() {long currentTimestamp getCurrentTimeMillis();while (currentTimestamp lastTimestamp) {// 检测到时钟回拨等待Thread.sleep(1);currentTimestamp getCurrentTimeMillis();}// 继续生成IDif (currentTimestamp lastTimestamp) {sequence (sequence 1) 4095; // 序列号递增if (sequence 0) {// 序列号用尽等待下一毫秒currentTimestamp waitNextMillis(currentTimestamp);}} else {sequence 0; // 新毫秒重置序列号}lastTimestamp currentTimestamp;return (currentTimestamp 22) | (machineId 12) | sequence; }2.1.2 引入时钟回拨位 引入时钟回拨位。在ID结构中预留几位作为“时钟回拨位”rollback bits当检测到时钟回拨时递增回拨位以区分ID避免重复。 2.1.3 基于外部 即给予外部服务的时钟避免依赖本地时钟如使用Redis生成递增ID。 在Redis中每天生成一个Key如date:20250615通过INCR操作生成递增序列号。ID格式日期 机器ID Redis递增序列号。 2.1.4 混合时间戳 结合物理时钟和逻辑时钟生成混合时间戳确保即使发生回拨ID仍保持唯一性和递增性。 使用Google的TrueTime或类似机制维护一个时间区间[min, max]确保时间戳在安全范围内。 检测到回拨时使用逻辑计数器递增确保ID唯一。 2.2 序列号耗尽 在分布式ID生成中如Snowflake算法序列号耗尽是指在同一时间戳通常是毫秒级内序列号部分达到了最大值例如12位序列号的最大值是4095无法继续生成新的唯一ID。这是一个常见问题尤其在高并发场景下同一毫秒内可能需要生成大量ID。 2.2.1 等待时间戳 毫秒级的方案等待下一毫秒纳秒级的方案等待下一纳秒。 long generateId() {long currentTimestamp getCurrentTimeMillis();if (currentTimestamp lastTimestamp) {// 处理时钟回拨参考上一回答handleClockRollback();}if (currentTimestamp lastTimestamp) {sequence (sequence 1) 4095; // 递增序列号if (sequence 0) {// 序列号耗尽等待下一毫秒currentTimestamp waitNextMillis(currentTimestamp);}} else {sequence 0; // 新时间戳重置序列号}lastTimestamp currentTimestamp;return (currentTimestamp 22) | (machineId 12) | sequence; }long waitNextMillis(long lastTimestamp) {long current getCurrentTimeMillis();while (current lastTimestamp) {current getCurrentTimeMillis();}return current; }2.2.2 调整结构增加序列号位数 通过调整ID结构增加序列号的位数例如从12位增加到14位从而支持每毫秒生成更多ID。 2.2.3 多ID生成器 通过引入多个ID生成器实例或分片分散ID生成压力降低单个实例的序列号耗尽概率。 比如雪花ID的Snowflake可以为每个节点分配多个机器ID例如节点A使用机器ID 1-4节点B使用5-8。 当序列号耗尽时切换到另一个实例生成ID。
http://www.hkea.cn/news/14499094/

相关文章:

  • 网站制作公司兴田德润实力强win7云主机怎么做网站
  • wordpress漫画站主题网站管理员登录入口
  • 山东聊城网站建设嵌入式培训学校
  • php自己写框架做网站衡水城乡建设局网站首页
  • 做网站一年的费用网站建设五大定位
  • 安徽四建东方建设有限公司网站网站需要域名吗
  • 湖北省住房城乡建设厅网站首页免费做国际贸易的网站
  • 我爱你域名的网站网站常用模块功能说明
  • 做渐变色的网站网站开发亿玛酷出名5
  • 网站换域名seo网站被清空了怎么办
  • 网站建设优化学习软文推广是什么意思
  • 揭阳购物网站开发设计网站名称怎么填写
  • 广州市花都区网站建设公司关键词seo如何优化
  • 公司网站建设需要考虑什么问题深圳极速网站建设服务器
  • 陕西省建设厅网站ca验证失败建设网站的企业发展历程
  • 做网站的公司高创廊坊中小企业网站制作
  • 新手搭建网站电子商务企业网站建设前期规划方案
  • 泰州网站推广见效快网站怎么屏蔽ip访问
  • 乐清营销网站做网站的去那里接单
  • 机关建设网站辽宁省建设教育协会网站
  • 一键建设网站图书馆网页设计素材
  • 网站源码怎么下载超市网站模版
  • 做个网站怎么做天眼查 企业查询
  • 网站开发类河北省住房与建设厅网站首页
  • 手机架设网站电子商务网站建设与实践上机指导教程
  • 做视频课程网站试用网站要怎么做
  • 有专门做特产的网站吗东莞品牌营销型网站建设
  • 济南网站制作建设信息化管理系统软件
  • 网站建设电子合同wordpress虚拟商品销售
  • 牛人网络网站摄影网站开发的背景