SpringCloudZuul

Spring Cloud Zuul

当微服务架构越来越大时,路由规则和服务实例的维护成了很大的问题,Spring Cloud Zuul引用而生。Zuul是一个API网关组件。很有效的解决这两个问题。

对于维护服务实例来说,Zuul通过与Spring Cloud Eureka进行整合,将自身注册为Eureka服务治理下的应用,同时将Eureka中获得了所有其他微服务的实例信息,这样的设计非常巧妙的将服务治理体系中维护的实例信息利用起来,使得将维护服务实例的工作交给了服务治理框架自动完成,不再需要人工介入。

对于路由规则的维护,Zuul默认会将通过以服务名作为ContextPath的方式来创建路由映射,大部分情况下,这样的默认设置已经可以实现我们大部分的路由需求,除了一些特殊情况(比如兼容老的URL)还需要做一些特别的配置。但是相比于之前的架构的运维工作量,通过引入Spring Cloud Zuul实现API网关后,已经能够大大减少了。

其次对于签名校验、登录校验在微服务架构中的冗余问题,Zuul可以将其剥离出来,在API网关进行统一过滤。Zuul提供了一套过滤器机制,可以很好的支持这样的任务,开发者可以通过使用Zuul来创建各种校验过滤器,然后指定哪些规则的请求需要执行校验逻辑,只有通过校验的才会被路由到具体的微服务接口,不然就返回错误提示。

Last updated