ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-使用票务服务器生成主ID?

2019-11-02 22:25:10  阅读:232  来源: 互联网

标签:primary-key web-applications java mysql


我正在Java和Cassandra之上构建分布式应用程序.生成唯一的顺序32位& 64位ID,是一种类似于使用Flickr’s ticket servers生成主ID的方法吗?我对此特别感到兴奋,因为它可以帮助我将ID的大小减小到所需的32位或64位,否则,使用UUID可以将其增加到128位.我不希望这些ID完全连续,但至少要增加!

但是,使用单个数据库服务器可能会引入单点故障,而Cassandra消除了这一点.但是,对于我们应用程序的初始阶段这可能是可以的.稍后我们可能会引入两台服务器来缓解这些问题.

这听起来像是个好策略吗?简而言之,我们在一个应用程序中混合了MYSQL和Cassandra.我知道,如果mySQL由于某种原因而关闭,那么我们不能单靠Cassandra进行开发.

我们已经寻找了其他解决方案,例如雪花,但是它并不能完全满足我们的要求.

编辑:我正在寻求有关是否使用MySQL生成唯一主ID来密钥存储在Cassandra数据库中的数据/实体的建议. Flickr的票务服务器等方法有什么缺点(如果有)?

解决方法:

我不太喜欢尝试将含义附加到代理键上(如果您希望它们随着时间的推移而增加,则可以尝试这样做).如您所见,这使生成密钥的问题变得更加复杂.假设您只是希望键随时间增加,以便可以对数据进行排序,为什么不包括创建对象并将其存储在数据存储中的时间戳?这极大地简化了密钥生成,并允许您执行随时间增加的密钥几乎可以做的所有事情,并且增加了一个事实,那就是无论谁必须维护您的代码如何对对象进行排序,这都是显而易见的.

标签:primary-key,web-applications,java,mysql
来源: https://codeday.me/bug/20191102/1994698.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有