拦截和覆盖微服务

时间:2015-08-19 22:09:07

标签: override microservices

想象一下,您从各种HTTP微服务构建您的应用程序。但是,有一个你想要改变行为 - 你不希望它工作,因为它默认工作,但你想改变它的行为。在OO世界中,您只需扩展该类。在微服务中你做什么?

示例:想象一下你有api:

/data

从某些数据存储区返回各种信息。但是你想添加参数' userId'对于每个请求(如果没有由用户设置),所以所有数据都应该与用户相关。换句话说,我们希望用以下方式覆盖它:

/data?userId=123

是否有一个微服务的例子(比如一些工具可以帮助你构建API,比如我们现在在Java,Scala ......)你可以覆盖服务并改变行为?请注意,我会覆盖代码,因为代码不可用;我想覆盖微服务 api。

1 个答案:

答案 0 :(得分:0)

您可能需要的是边缘/代理服务器。我不知道你正在使用什么技术堆栈,但是像Zuul(Java / Spring)或haproxy / nginx。换句话说,你的MS上面有一个“伞”,根据你指定的规则为你做路由/重写/等。

看看这篇文章: http://techblog.netflix.com/2013/06/announcing-zuul-edge-service-in-cloud.html