在GitHub中创建问题时,它在存储库中具有唯一的标识符(例如#1532)。如何在微服务架构中实现这种机制?假设我有2个服务设施和问题,创建问题时,它在特定设施中必须具有唯一的人类可读代码。
我认为每次调用设施微服务以了解最后的代码号都不是一个好主意。
现在,我正在考虑使用像Rabbitmq这样的队列,该队列将保存一个facilityId和最后一个错误代码,并在每次请求该代码时对其进行更新。
我不太确定这种方法的所有弊端。还有其他更好的方法来解决此问题吗?任何帮助将不胜感激
更新
我还考虑只将设施ID和最后的代码存储在数据库中,并将其初始值作为初始值,这似乎是个好主意
答案 0 :(得分:0)
分布式系统中的ID生成为a problem which has been around for a while。
对人类友好不包括使用uuid的最简单方法...
我个人建议不要自己实施,可能有多种工具可以解决,例如the id generator of apache ignite。
答案 1 :(得分:0)