HATEOAS和微服务

Rog*_*son 7 rest hateoas hypermedia microservices

看到HATEOAS和微服务如何共存,我遇到了一些麻烦.

我们来举个例子:

假设我们有购物车资源.我们需要将产品的快照放入其中,例如产品ID,产品价格; 项目添加到购物车时的当前价格快照,以及可能的其他一些值.实际的用例并不重要,只是为了对手头的问题有所了解.

当我之前做过HATEOAS时,我会在购物车资源中放置链接到产品的链接或链接到特定产品的模板URL.

这样,客户端仍然可以不知道资源URL.

但在微服务领域,服务应该不了解其他服务.据我所知.

那他们怎么可以一起工作呢?

我对微服务的解释是,它们永远不能链接到除了它们之外的任何东西,这几乎就是一个Self链接.

我在其他地方发现了同样的问题,例如 https://groups.google.com/forum/#!topic/api-craft/YRkLFVY_zFc

使用诸如"宏观服务"之类的解决方案将所有这些组织在一起.这似乎不是解决问题的干净方法.

[编辑]

我发现了一些关于这个主题的更好的信息:https : //github.com/Netflix/eureka https://github.com/RestExpress/HyperExpress

这似乎很好,有一些工具使用链接来扩充资源,但这让我想到,决定资源应该属于什么链接的逻辑在哪里?在公开资源的服务中?在中央服务注册中心?

Ped*_*eck 7

但在微服务领域,服务应该不了解其他服务.据我所知.

我认为这是你困惑的根源.我的理解是,为了软件开发,服务不应该依赖带外信息与其他服务进行通信.这意味着服务不应该对其同行的内部知之甚少,但是说它不应该知道其他服务是没有任何意义的.这与HATEOAS没有冲突,事实上,它们相互补充.

链接到其他服务没有问题.你怎么会从微服务建立一个宏服务?依赖于带外信息存在问题.