0

在我工作的公司里,我们经营着一个比较网站。我们的“产品”是我们从内部和外部来源比较的服务。

我遇到的问题是我们有一个后端 CMS 风格的管理系统,经理和产品管理员可以在其中添加、删除和修改产品。

当一家新的第三方公司出现并希望成为我们服务的一部分时,我们基本上会废弃他们所有产品的 api 并将它们保存在我们的数据库中,仅将定价和服务可用性委托给他们的 api 以获得实时数据。

这样做的好处(以及我们这样做的唯一原因)是允许我们的产品管理团队明确控制产品的佣金设置和可用性(即:我们可以将其关闭并阻止它通过我们的 api 和网络服务/网站)。

一个明显的缺点是,如果 api 上的新产品可用,或者即使我们期望的产品发生变化,我们也会有更多的失败点,但是,我遇到的主要问题(以及这篇文章的原因)是我们有一些新的集成与许多产品一起推出,并且将它们全部输入我们的系统是根本不可行的。

我的问题是其他人如何处理这种产品目录集成场景?

谢谢,G

4

1 回答 1

0

如果我理解正确,您有 2 种不同的选择以及一些混合动力车。

基于 api 的解决方案:您假设您的所有合作伙伴都将拥有大致相似的 api(产品、数量、功能、价格等)。然后为每个合作伙伴做一个转换器/适配器/反腐败层来将他们的对象导入到您的模型中。有时您的伴侣可能需要在他们身边做一些工作。这可能是最简单但也很危险的方法,因为您可能会遇到具有完全不同且不可转换模型的合作伙伴。例如,一些拍卖门户没有“物品”的概念(只有拍卖/描述)。可能没有“数量”之类的东西,而只有“合作伙伴商店中的可用性”。价格也可能不是固定的,但取决于当前的拍卖状态或受欢迎程度(机票)。

类似爬虫的解决方案:您几乎完全忽略了合作伙伴的 api。相反,您只需废弃他们的网站并为您的客户提供全文搜索。这样你就没有任何兼容性问题,但你也没有结构化数据(价格)

混合型:您可以使用爬虫方式并使用任何现有的 api 来获取任何所需的结构化信息(价格等)。您可以使用机器学习方法而不是 api 从报废的数据中检索所需的信息。

于 2015-11-12T16:17:24.580 回答