我正在使用sync.once在我的微服务中实现单例。但我不确定这是否能确保所有副本都有一个实例。如何在golang中为分布式微服务创建Singleton对象?
发布于 2021-05-21 18:48:50
它不能确保在不同环境中运行的多个进程之间存在单个实例。sync用于同步go例程,这些例程是针对主例程进程运行的。
要添加在多个进程和多个微服务之间工作的锁定,您需要一个控制它的第三方实例。它可以是队列消息/缓存代理(例如RabbitMQ、Redis)或数据库(例如PostgreSQL advisory locks)。
https://stackoverflow.com/questions/67635225
复制相似问题