gpt4 book ai didi

ruby-on-rails - 跨不同服务/API (SOA) 的 Ruby/Rails 模型关系

转载 作者:行者123 更新时间:2023-12-03 17:34:36 26 4
gpt4 key购买 nike

我正在使用 Ruby/Rails(Grape、Rails-API 等)构建一套(微)服务,这些服务提供面向用户的 Web/移动应用程序。这些服务是自包含/隔离的,但是需要在模型/实体之间建立一些跨服务关系。

has_one 的情况下/belongs_to关系,我可以简单地存储 ID本地模型中的外国实体,反之亦然。我面临的问题是如何处理 has_many/belongs_tohas_many/has_many关系。

例如,如果我有一个 OrderProduct模型,在单体 Rails 应用程序中,我会执行以下操作:

class Order < ActiveRecord::Base
has_many :products, through :order_products
end

class Product < ActiveRecord::Base
has_many :orders, through :order_products
end

class OrderProduct < ActiveRecord::Base
belongs_to :order
belongs_to :product
end

在处理不同的服务时,如何处理这种类型的关系?有没有一种“rails 方式”可以做到这一点?

到目前为止,我想出的最佳选择是存储外国 ID s 作为模型中的散列,使用类似 PostgressSQL 的 hstore列,但这从可扩展性和数据完整性的角度来看都是错误的。

任何帮助将不胜感激!

最佳答案

These services are self-contained/isolated, however there is a need to have some cross-service relationships between models/entities.



rails way (TM) 就是对这种关系有一个整体的应用程序。

如果您有这些限制并且您正在构建“微服务” - 在我看来,您在构建平台方面做得不好。

关于ruby-on-rails - 跨不同服务/API (SOA) 的 Ruby/Rails 模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096530/

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