2016-11-27 79 views
2

我想打一个微服务项目,包括像一些微服务:网页,订购,产品等 我想过这两个问题:分享微服务

  1. 我想知道这是否是在不同的项目中重复使用相同的微服务并将多个网站数据存储在一个微服务中并通过项目令牌检索相应的数据是一个好主意?

    例如,我们有网站A和网站B,并在同一个微服务数据库中共享他们的数据,产品微服务持有网站A和网站B产品。

  2. 如果重复使用微服务是一个好主意,那么如果网站A和网站B产品之间可能存在一些细微的变化,则可能会出现问题。我是否应该为网站B重写另一个微服务或写一个通用产品微服务,以便处理不同类型的产品?

+3

微服务背后的想法是,你定义一个有界的上下文,并在拥有数据和操作的顶端写一个服务。 你的问题归结为定义有界的上下文。如果你对它进行了很好的定义,你将不会面临诸如特定于服务的变化,改变核心逻辑等问题。 – k1133

+1

我认为代码重用和通用组件会导致您失去小型整体路径,这是一种反模式...编写每个组件来解决正确的业务功能,即使它看起来更薄,从长远来看,它们最可能会分歧关于业务需求的变化。 –

回答

1

这是第一次,你可以编写使用由两个或更多的消费者通用的服务,但它会带给你,如果业务逻辑变化问题,为消费者之一。

我的建议是,如果你认为系统不会频繁变化,增长不多,共享服务,否则解耦将是更好的方法。