我正在开发一个由rails应用程序组成的分布式系统。在不同的地理位置有多个服务器产生一些数据,这些数据应该与单个云服务器同步,然后分布在" local"服务器。换句话说,有一个共享状态存储在"全局"服务器,部分在"本地"那些及其变化是由本地"懒洋洋地实现的。服务器
要同步的ActiveRecord模型在" local"上都有相同的定义。服务器和"全球"一。但它们只是由开发者大会单独维护。因此可能存在一些同步问题,包括模型定义的差异。
在服务器之间共享模型定义并实现验证的最佳方法是什么?
我提出的解决方案是将模型定义移动到单独的版本库(gem)中,在服务器之间共享它并使用序列化和反序列化(as_json
和from_json
方法)确保同步时云服务器接收的模型结构正确。
是否有更惯用的方法呢?