在微服务中共享代码

时间:2017-07-24 08:28:19

标签: java-ee architecture jax-rs microservices

我们有两项服务。但是,在过去,这两项服务是一项服务,但由于不同的流量要求而被拆分。

服务由两种客户消费;其他服务和UI客户端(网络,桌面和移动)。

服务1的消费者:服务,

  1. 使用数量非常有限的公开端点(addInputremoveInput)。
  2. 产生高流量。
  3. 服务2的消费者:UI客户端,

    1. 使用大量暴露的端点
    2. 减少流量。
    3. 目前,他们正在共享代码,但据我所知,微服务不应该共享基本代码。因此,我们认为使用这种方法有问题。

      为了解决这种微服务架构问题,需要了解哪些关键问题?

1 个答案:

答案 0 :(得分:1)

你是什么意思?微服务不应该共享代码。你会故意去搜索2个不同的TCP堆栈吗?如果用Java编写一个,你必须在Go中编写另一个吗?

服务可以共享代码,如果是第三方代码或第一方代码则无关紧要。您不想做的事情,就像您在服务的其他方面所做的那样,是确保自主权。自主性使您可以灵活地进行变革。就共享代码而言,自治意味着如果您更新了共享组件,请说出处理授权的位,您不需要自动更新其他服务中的位。

随着时间的推移和需求的变化,服务也将随之发展。随着需求的变化,他们可能会在他们使用的代码中出现分歧,也许您仍然可以重用位。请注意,重用和共享代码本身并不是目的,你可以做得很好