gpt4 book ai didi

mysql - 生成 int32 和 int64 大小的唯一主 ID

转载 作者:行者123 更新时间:2023-11-29 03:12:59 25 4
gpt4 key购买 nike

我正在使用 Java 和分布式 noSQL DB(Cassandra) 开发社交网络应用程序。我需要分别为新用户和帖子生成 32 位和 64 位大小的 ID。

由于建立在分布式平台之上,我们生成 ID/ key 的问题变得更加复杂。尽管已经出现了像 Zookeeper/或 twitter 的雪花这样的解决方案,它们一直在努力减轻这种痛苦,但这些解决方案似乎并不易于使用。

从顶层角度看这些解决方案后,我觉得选择最简单、最成熟的解决方案。 像 flickr 的票务服务器那样使用 MySQL 数据库是我的首选,因为它似乎是最简单的解决方案

http://code.flickr.com/blog/2010/02/08/ticket-servers-distributed-unique-primary-keys-on-the-cheap/

我知道这会在分布式系统周围造成 SPOF。但我仍然相信这将是我早期最简单的解决方案(当时我在资金和人力方面的资源较少)。当我的应用程序增长时,我相信切换不会很困难,因为它们没有要传输的大量数据。因此,对于我的应用程序的初始状态,我想 MySQL 可以以最好和最简单的方式为我提供生成 ID 的服务。

做出此选择的主要因素:-

  1.   Easier Implementation
2. Easy switching anytime in the future
3. Mature
4. MySQL may be required for our other needs as well, already

我正在考虑最初使用单个 MySQL 服务器,然后切换到类似两个服务器的 flickr 解决方案,以消除 SPOF。

当我考虑切换到 zookeeper 或 snowflake 等替代解决方案时,有人可以指出以后可能会出现什么问题吗?或者所提议的当前方法的缺点是什么?

非常感谢您的宝贵时间!

最佳答案

I know that will create SPOF around a distributed system.. but still I believe this would be the most easiest solution for my early days

不,最简单的解决方案是使用您的分布式 dbms 提供的标识符。这样就避免了

  • MySQL 的独立服务器硬件
  • 安装、配置和保护另一个操作系统
  • 安装、配置和保护另一个数据库管理系统

而且您可能需要顺序性比您想要的要少得多。

I know that will create SPOF around a distributed system.

它会产生多个单点故障。很可能每个服务器硬件,除了可能的磁盘,都是单点故障。 (你打算在那里放多少个电源?多少个磁盘 Controller ?多少个 NIC?)还有大量的软件单点故障。

关于mysql - 生成 int32 和 int64 大小的唯一主 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com