实际上,我想了解在几个微服务之间管理请求的正确方法,其中之一就是Zuul:
/api/service1/get
或/api/service2/get
之类的API。在每项服务中,我都有localhost:7777/api/service1/get
可用的echo端点,并且运行良好。service1/get/
和service2/get
据我了解,任何人都可以通过Zuul或直接从这些服务中调用这些服务。那么Zuul在这种情况下有什么区别和真正的价值(代替Zuul可以授权用户,我们可以说是代理微服务)
那么将Zuul用于微服务的正确方法是什么?
答案 0 :(得分:0)
您的问题好像是在问两件事。目的是什么以及如何使用它。要回答第一个。
其目的是在您拥有的所有其他服务之前提供该服务。就像系统的前门一样。 其余服务应隐藏在代理服务之后的外部世界中。
目的是将所有服务从一个地方路由,因此netflix-zuul可以拦截请求,操纵,验证,路由...
您可以集成服务发现(netflix-eureka),以便在此处注册您的服务,并且无需处理服务的URL,可以通过定义的路径和注册的服务ID来访问它们。
您可以在整个系统中集成负载平衡(netflix-ribbon)。
您可以通过添加延迟容忍度和容错逻辑(netflix-hystrix)来控制服务之间的交互。因此,当发生错误时,您可以提供后备选项。
依此类推...