微服务系列-通用全局唯一ID生成器

双DB方案

主要想法是:

  • 双DB;
  • DB分表生成奇,偶的ID;
  • ID生成是事务的;

特点:

  • 优点:速度快,稳定强,一致性高,没有单点;
  • 缺点:需要部署两个db,ID生成不连续;

redis+lua方案

  • 优点:速度极快,ID连续性高;
  • 缺点:单点问题,存在不一致问题。如果主redis挂机,备redis切换成主redis。这个过程可能ID会不一致;

ID生成器服务化

  • ID服务以服务化RPC开放出来;
  • 采用预取ID技术保证大部分时间内ID的连续性;
  • mysql采用mysqlproxy方案;

优缺点:

  • 优点:稳定性高,一致性,ID连续性高,适合服务化;
  • 缺点:可能存在id不连续,但比双DB方案好。Mysql是单点;

第二种方案部署简单;

大型企业方案选择第一三方案;

本文分享自微信公众号 - 服务端技术杂谈(ITIBB2014)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-01-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

性能调优概述,这是一篇最通俗易懂性能调优的总结!

精彩早知道 作者概述 什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) ...

55650
来自专栏瓜大三哥

FPGA中的竞争和冒险现象

冒险往往会影响到逻辑电路的稳定性。时钟端口、清零和置位端口对毛刺信号十分敏感,任何一点毛刺都可能会使系统出错,因此判断逻辑电路中是否存在冒险以及如何避免冒险是设...

25660
来自专栏前端迷

Node.js初探

首先,我想说:“很荣幸在经历了2个月的努力,第一个Node.js项目落地了”。整个项目做下来,还是算比较顺畅的。

79320
来自专栏腾讯云数据库团队的专栏

用分布式技术轻松化解数据库容量和性能瓶颈

我们的目标是您的业务仅需要 2 个数据库就够了,一个用来部署正式业务,不增加存储成本基础上,能涵盖 OLTP&OLAP 场景,且可以覆盖多种数据类型;另一个,一...

2K00
来自专栏IT大咖说

超大流量电商平台系统背后的持续集成与发布

摘要 发布作为应用上线前的最后一个步骤,一直以来都是运维做的比较频繁也是风险比较高的操作,发布系统不仅要做到提升发布效率,更重要的是保障发布过程中系统的稳定,减...

399110
来自专栏小怪聊职场

爬虫架构|如何设计一款类“即刻”信息订阅推送的爬虫架构(一)

68690
来自专栏企鹅号快讯

JAVA开发的几个注意点

在Java工程师平常的开发过程中,由于业务的不同,可能关注的点有很多不一样的地方,但是在基础层面还是有一些共性的。今天天软小编为大家带来一片文章,此文概括了在J...

224100
来自专栏软件测试经验与教训

性能测试项目中遇到的问题和解决方法

42570
来自专栏信安之路

从长亭的wiki上获取我想要的数据

通常有自己博客的朋友都可以算作是喜欢分享,技术能力是次要的,只要爱分享就是我们所寻找的有缘人。

12500
来自专栏施炯的IoT开发专栏

ZigBee On Windows Mobile--3.模拟器和实物调试

    继续前两篇” ZigBee On Windows Mobile--1.背景和结构”和” ZigBee On Windows Mobile--2.硬件和软...

208100

扫码关注云+社区

领取腾讯云代金券