为什么DigitalOcean使用uuid作为Droplet id的用户ID和整数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么DigitalOcean使用uuid作为Droplet id的用户ID和整数?相关的知识,希望对你有一定的参考价值。
我正在构建一个REST-API,当我正在研究什么id类型给某些对象时,我看到了DigitalOcean API Documentation。
对象:volume, volume snapshot, certificate, domain, firewall and load balancer
都有一个字符串uuid。
对象:action, domain record, droplet, droplet snapshot, droplet kernel, droplet backup, droplet neighbor, image and SSH key
有一个整数id。但是Droplets有一个唯一的整数id。
在每个对象的情况下使用整数id或字符串id的意图是什么?
我唯一想到的是,DigitalOcean在早年使用过字符串ID不能只是将所有字符串id切换为整数ID。
要么
出于性能原因,所有短寿命或被大量创建的对象通常都具有整数id,而具有字符串ID的对象则相反,长寿并且创建频率较低。
我已经制作了两个表来查看哪些对象具有字符串/整数id。
在DigitalOcean,我们已经标准化了未来使用字符串uuids。其中一个主要动机是主键绑定与特定数据存储区实现相关联,并且可能使架构重构更加困难。因此,使用整数ID的资源正在这样做以实现向后兼容性,并且只是更长时间(即我们的Droplet是我们的第一个产品,而Load Balancers和Firewalls这样的东西是最近添加的)。
完全披露:除其他外,我保留了DigitalOcean的API文档。
以上是关于为什么DigitalOcean使用uuid作为Droplet id的用户ID和整数?的主要内容,如果未能解决你的问题,请参考以下文章