使用Zuul做为企业内部API网关的技术方案是否可行? 5C

大家好,有个问题想请教一下, 目前我们公司ERP部门有很多业务系统, 比如CRM,财务,人事, 合同,工作流等, 他们之间有很多的业务往来, 现状是各系统之间都是网状的调用关系,一共有多少API, 每个API都有谁在用, 从公司层面来说没有统一的管理, 比较混乱, 所以目前想把API接口管理起来,以实现路由转发,权限,性能监控,日志采集等功能,一开始我们想采用传统的ESB方案,在调研的过程中发现ESB似乎过于重量级,很多功能我们都用不上,比如协议转换,我们的接口大多是基于HTTP 或者WebService, 数据格式是JSON或者SOAP, 通过继续调研,我们觉得API网关可以满足我们的需求, 结合团队的技术栈现状,我们准备选用zuul来实现API网关,因为是异构的系统,所以不准备集成Eureka, zuul的路由规则存储在DB中动态刷新,再开发一个后台管理系统去进行API权限和路由规则的管理,请问这个方案是否可行?在技术上有什么需要注意的地方?

0

1个回答

可行应该是可行,但好多东西还要自己写不麻烦么?
不如直接搞个现成的,比如ApiMan

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Zuul API 网关PPT
Zuul’s Journey To NonBlocking Zuul API 网关 Zuul的非阻塞之旅
API网关的实现--2 springboot使用zuul
配置pom <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</...
Zuul(路由网关)的使用
Zuul是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。 Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。 Zuul为了实现以上功能必然的它就需要实现一个更为基础的功能:反向代理。 zuul为了能够实现对前端请求的全部代理、拦截、转发,它...
SpringCloud的zuul 网关的使用
原 SpringlCoud的zuul 网关的使用 已删除 2018年10月22日 16:50:30 java皮皮虫 阅读数:43 ...
网关Zuul(二)集群中使用Zuul
以Spring Cloud为基础,深入讲解微服务开发的相关框架,包括服务管理框架Eureka、负载均衡框架Ribbon、服务客户端Feign、容错框架Hystrix、消息框架Stream等。
Zuul,网关
路由是微服务架构中必须(integral )的一部分,比如,“/” 可能映射到你的WEB程序上,”/api/users “可能映射到你的用户服务上,“/api/shop”可能映射到你的商品服务商。(注解:我理解这里的这几个映射就是说通过Zuul这个网关把服务映射到不同的服务商去处理,从而变成了微服务!) 使用Zuul构建gateway 1. Zuul 简介 Zuul是Netflix开源的微服...
Zuul网关
网关是什么就不用多说了,网关最大的作用就是隐藏我们内部服务器的IP地址,外界通过网管访问,由网管决定请求是否可以进入内部服务,因此网管也可以做权限检验,网关还具备动态路由,负载均衡等功能。 搭建zuul模块 pom文件 <dependency> <groupId>org.springframework.boot</groupId> <art...
网关 Zuul
Zuul 简介 Zuul 作为微服务的网关组件,用于构建边界服务(Edge Service),致力于动态路由、过滤、监控、弹性伸缩和安全。Zuul 在微服务系统中有着重要作用: • Zuul、Ribbon 和 Eureka 相结合,可以实现智能路由和负载均衡的功能,Zuul 能够将请求按照某种策略分发到集群中的多个服务实例。 • 网关将所有服务的 API 接口统一聚合,并统一对外暴露。外界系...
zuul网关
Zuul网关 前面的ribbon和feign是服务间调用,Zuul网关是外部调用 所有的服务ip和注册中心是不能对外公开的,很危险,容易被攻击,其次外部来访问时不同的端口,我们需要提供统一的服务接口 通过前面的学习,使用Spring Cloud实现微服务的架构基本成型,大致是这样的: 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;...
微服务api网关使用Zuul构建API Gateway
对于 API Gateway,常见的选型有基于 Openresty 的 Kong、基于 Go 的 Tyk 和基于 Java 的 Zuul。什么是Zuul?Zuul是设备和网站到Netflix流媒体应用程序后端所有请求的前门。作为边缘服务应用程序,Zuul的目的是实现动态路由,监控,弹性和安全性。它还能够根据需要将请求路由到多个Amazon Auto Scaling组。我们为什么要建造Zuul?Ne...
6.使用zuul实现网关
前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个微服务框架已经完成了。 我们还是少考虑了一个问题,外部的应用如何来访问内部各种各样的微服务呢?在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。...
服务网关 Zuul基本使用
API 网关是一个更为智能的应用服务器,它的定义类似面向对象设计模式中的Facade模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤。它除了要实现请求路由,负载均衡,校验过滤等功能之外,还需要更多能力,比如与服务治理框架的结合,请求转发时的熔断机制,服务的聚合等一系列高级功能     路由规则: zuul默认会将通过以服务名作为contex...
十七、服务网关-Zuul 的使用
服务网关-Zuul 的使用
使用Zuul构建微服务网关
Zuul的github:https://github.com/Netflix/zuul 之前没有使用网关的微服务可能存在的问题? 客户端直接和微服务交互,增加了复杂度; 某些场景下可能存在跨域; 如果一个功能点需要调用多个微服务,每个服务都需要身份认证,使得身份验证复杂冗余; 客户端直接和微服务交互,后期代码重构难度大;   为什么需要构建Zuul服...
spring-cloud之zuul路由网关的使用
(1)首先,maven需要引入的包: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <depend...
Zuul网关服务使用详解
  1.微服务架构所面临的问题?     1)针对某个功能,客户端在微服务架构的情况下需要请求多个模块接口     2)针对于身份认证、日志、流量控制等公共模块每个微服务都需要做一遍,不利于业务与非业务的拆分       针对于这些问题,Zuul可完美解决,我们可用Zuul做:     1)客户端只需要知道网关而不需要知道具体模块的地址,所有服务由网关对外提供     2)身份认证类...
网关Zuul(一)介绍与使用
以Spring Cloud为基础,深入讲解微服务开发的相关框架,包括服务管理框架Eureka、负载均衡框架Ribbon、服务客户端Feign、容错框架Hystrix、消息框架Stream等。
SpringCloud 的Zuul理论和使用Zuul构建微服务网关以及Zuul网关使用熔断器
本篇博客主要讲微服务网关,和Zuul相关理论知识以及怎么样使用Zuul实现网关。 微服务网关 为什么要使用微服务网关? 不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下问题: 1、客户端会多次请求不同的微服务,增加了客户端的复杂性。 2、存在跨域请求,在一定场景下处理相对复杂。 3、认证复杂,每个服务都需...
Spring Cloud学习笔记18——API 网关(Zuul)
API 网关是一套主要用于统一API入口的应用组件,可以管理所有的API,形成一个API的入口 API网关的意义 集合多个API 统一API入口 API网关所带来的好处 避免将内部信息泄露给外部 为微服务添加额外的安全层 支持混合通信协议 降低构建微服务的复杂性 微服务模拟与虚拟化 API网关的弊端 在架构上需要额外考虑更多编排与管理 路由逻辑配置要进行统一的管理 可能引发单点故障 ...
Spring Cloud Zuul(API网关服务)(3)
过滤器 在Spring Cloud Zuul中实现的过滤器必须包含4个基本特征:过滤类型,执行顺序,执行条件,具体操作。这就是ZuulFilter接口中定义的4个抽象方法: public abstract String filterType(); public abstract int filterOrder(); boolean shouldFilter(); ...
SpringCloud Zuul API路由网关服务简介
个人博客网:www.lfuping.cn (你想要这里多有) Zuul API路由网关服务简介 这里的API 路由网关服务 由Zuul实现,主要就是对外提供服务接口的时候,起到了请求的路由和过滤作用,也因此能够隐藏内部服务的接口细节,从来有利于保护系统的安全性; ...
springboot整合zuul,实现API网关配置
一个应用中可能包含PC、APP等等终端产品,如果使用单一服务入口的话,发生故障后,整个架构服务将不能提供服务。因此我们可以对不同的服务,配置不同的网关策略,正如nginx一样,可以负载均衡。 服务网关的要素: 稳定性,高可用;安全性;性能,并发性;扩展性; 一般api网关的实现方法有这么几种: 1、Nginx 2、zuul 3、Kong,专门提供微服务API管理平台(底层也是基于Ngi...
API网关服务(Spring Cloud Zuul)之快速入门
1,网关服务存在要求 原因: 首先,传统没有网关的架构中,需要运维人工维护路由规则和服务实例,增大了人工维护成本和效率低下。 其次,在系统中,我们往往需要有一定的权限校验机制,但是当微服务系统多的话,就会增加开发人员和测试的工作量。代码冗余。 网关的解决: 首先,对于路由规则与服务实例的维护问题,Zuul通过与Eureka进行整合,将自身注册在Eureka中,获取所有其他微服务的实例信息...
Spring Cloud微服务解决方案⑧:Zuul(API网关)
简单的来说,我们把zuul这个项目启动起来,注册到eurake上,那么他就可以代理eurake上面的服务(默认),各种玩法听我细细道来。 源码下载路径在:https://download.csdn.net/download/qq_22075041/10869452,代码参考microservice-gateway-zuul模块。 首先加入zuul的依赖 <dependency>...
二十一、API网关服务:Spring Cloud Zuul
上面的博客已经对于Spring Cloud Netflix下的核心组件了解了一大半,这些组件基本涵盖了微服务架构中最基础的几个核心设施,已经可以构建一个简单的微服务。eg:通过Spring Cloud Eureka实现高可用的服务注册中心以及实现微服务的注册与发现;通过Spring Cloud Ribbon或者Feign实现服务间负载均衡的接口调用;同时,为了分布式系统更加健壮,对于依赖的服务
Spring Cloud Zuul(API网关服务)(2)
路由详情 传统路由配置 传统路由配置方式就是在不依赖与服务发现机制的情况下,通过在配置文件中具体指定每个路由表达式与服务实例的映射关系来实现API网关对外部请求的路由。 单实例配置:通过zuul.routes.<route>.path与zuul.routes.<route>.url参数对的方式进行配置进行配置,比如: zuul.routes.api-a-url.p...
API网关的实现---3 zuul网关Filter处理流程及异常处理
上一篇介绍了java网关Zuul的简单使用,进行请求路由转发和过滤器的基本操作。 这一篇主要看一下它的过滤器Filter的工作流程及异常处理。 首先看到Filter的四个方法,FilterType,filterOrder,shouldFilter,run。 filterType代表过滤类型 PRE: 该类型的filters在Request routing到源web-service之前执行。...
企业内部的API
也许还有很多人不太了解API,简单来说,API就是实现两个网站或者数据库之间通过互联网通讯的接口代码。例如,一家在线电影租赁网站希望与Facebook合作,让你的Facebook好友能随时知道你浏览过的影片。而在没有API的时代,实现这个功能需要在线电影租赁网站把你每天浏览过的电影制成列表,通过Excel文件格式发给Facebook。可以想象,这个过程是多么缓慢且容易出错。有了API,在线电影租赁...
zuul网关代码主程序
网关代码
zuul服务网关笔记
.服务过滤 1.定义类 MyFilter 继承 ZuulFilter,实现请求过滤 /** 服务过滤 */ @Component public class MyFilter extends ZuulFilter { /** 返回过滤器的类型,过滤器类型如下: pre:请求路由之前调用过滤 routing:请求routing之时调...
zuul网关的设计思路的思考
最近一段时间一直在思考api网关该如何设计。前段时间也按照个人对于网关的理解写了个gateway,但是总感觉不尽如人意。周末坐高铁回家,带了一本spring cloud的微服务书(买来一直没有时间看)。重点看了zuul的章节,了解了它的设计思路,现总结如下。网关应有的功能 参数校验 鉴权 限流 服务路由 负载均衡 api服务列表的动态维护 … 这几个功能对于api来说都很必要,不作一一解释。重点说一
zuul 路由网关
Zuul包含了对请求的路由和过滤两个最主要的功能: 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础,Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获取得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。 Zu...
zuul微服务网关
微服务网关背景 不同的微服务一般有不同的网络地址,而外部的客户端可能需要调用多个服务的接口才能完成一个业务需求。比如一个电影购票的收集APP,可能回调用电影分类微服务,用户微服务,支付微服务等。如果客户端直接和微服务进行通信,会存在一下问题: # 客户端会多次请求不同微服务,增加客户端的复杂性 # 存在跨域请求,在一定场景下处理相对复杂 # 认证复杂,每一个服务都需要独立认证 # 难以重构,随着...
zuul网关限流
最近项目需要实现限流的功能,项目使用的是spring cloud框架,用zuul做网管模块。准备在网管层加上限流功能。   1、使用RateLimiter+filter做统一入口限流。适用单机   Guava中开源出来一个令牌桶算法的工具类RateLimiter,使用简单,cloud已经集成该模块,直接引入。 <dependency> <groupId>co...
Zuul网关配置注意事项
配置Zuul网关的时候需要注意配置Ribbon的请求超时时间,如果在zuul调用的接口处配置了ribbon超时时间,则在zuul的位置也必须要配置ribbon超时时间,否则,会导致zuul网关调用接口出现超时情况。 另外还需要注意在配置zuul网关的时候,如果出现LoadBalance负载均衡方面的错误,有可能是zuul网关没有注册到注册中心去,zuul底层是使用feign调用eureka的网关...
路由网关(zuul)
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图: 注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。 在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zu...
SpringCloud之zuul微服务网关
图例 Zuul做为网关层,自身也是一个微服务,跟其它服务Service-1,Service-2, … Service-N一样,都注册在eureka server上,可以相互发现,zuul能感知到哪些服务在线,同时通过配置路由规则(后面会给出示例),可以将请求自动转发到指定的后端微服务上,对于一些公用的预处理(比如:权限认证,token合法性校验,灰度验证时部分流量引导之类),可以放在所谓的过...
springcloud之路由网关(Zuul)
springcloud之路由网关(Zuul)
Zuul网关基本概念截图
-
springCloud之zuul路由网关
Zuul的主要功能是路由转发和过滤器,路由功能是微服务的一部分,比如/api/user转发到user服务,/api/shop转发到shop服务。zuul默认和ribbon结合实现了负载均衡的功能。 核心代码和配置如下: eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/ server...