springcloud实战之11路由网关(zuul)
2017-12-21 14:59
951 查看
微服务虽然可以将我们的开发单元拆分的更为细致,有效降低了开发难度,但是他所引出的各种问题如果处理不当会成为实施过程中的不稳定因素。甚至掩盖掉原本实施微服务带来的优势。所以再微服务的实施方案中,api网关服务的使用几乎成为了必要的选择。
下面着手搭建一个可用的api-gateway服务
2.启动服务提供者(springcloud-producer-rest)
3.启动服务消费者(springcloud-consumer-ribbon)
4.启动服务消费者(springcloud-consumer-feign)
5.启动网关服务(springcloud-server-api-gateway)
启动完服务之后的服务注册中心如下图
分别调用
http://localhost:8004/api-b/api/rest/getMessage?token=sss
http://localhost:8004/api-b/api/rest/getMessage?token=sss
服务,结果分别如下:
springcloud-producer-rest
springcloud-consumer-feign
springcloud-consumer-ribbon
springcloud-server-api-gateway
springcloud实战之2 服务注册与发现(eureka实现)
springcloud实战之3 高可用服务注册中心(eureka集群)
springcloud实战之5 服务消费者(ribbon)
springcloud实战之6 服务消费者(Feign)
springcloud实战之7 断路器(Hystrix)
springcloud实战之8 断路器-仪表盘-单例监控(Hystrix)
springcloud实战之9断路器-集群监控(turbine)
springcloud实战之10 分布式配置中心(config)
下面着手搭建一个可用的api-gateway服务
构建springcloud-server-api-gateway服务
引入依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> <relativePath /> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Edgware.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
创建入口文件
@SpringCloudApplication @EnableZuulProxy public class SpringCloudServerApiGatewayApplication { public static void main(String[] args) { SpringApplication.run(SpringCloudServerApiGatewayApplication.class,args); } }
创建配置文件
server: port: 8004 spring: application: name: springcloud-server-api-gateway eureka: client: service-url: defaultZone: http://peer1:8080/eureka/ zuul: routes: api-a: path: /api-a/** serviceId: springcloud-consumer-ribbon api-b: path: /api-b/** serviceId: springcloud-consumer-feign
启动项目
1.启动服务注册中心集群(springcloud-server-eureka)2.启动服务提供者(springcloud-producer-rest)
3.启动服务消费者(springcloud-consumer-ribbon)
4.启动服务消费者(springcloud-consumer-feign)
5.启动网关服务(springcloud-server-api-gateway)
启动完服务之后的服务注册中心如下图
分别调用
http://localhost:8004/api-b/api/rest/getMessage?token=sss
http://localhost:8004/api-b/api/rest/getMessage?token=sss
服务,结果分别如下:
源码
springcloud-server-eurekaspringcloud-producer-rest
springcloud-consumer-feign
springcloud-consumer-ribbon
springcloud-server-api-gateway
历史文章
springcloud实战之1 技术选型:dubbo还是springcloudspringcloud实战之2 服务注册与发现(eureka实现)
springcloud实战之3 高可用服务注册中心(eureka集群)
springcloud实战之5 服务消费者(ribbon)
springcloud实战之6 服务消费者(Feign)
springcloud实战之7 断路器(Hystrix)
springcloud实战之8 断路器-仪表盘-单例监控(Hystrix)
springcloud实战之9断路器-集群监控(turbine)
springcloud实战之10 分布式配置中心(config)
相关文章推荐
- 一起来学SpringCloud之 - 路由网关(Zuul)
- spring cloud :四、路由网关(zuul)
- spring cloud快速入门教程(四)路由网关Zuul
- SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)
- SpringCloud教程 | 第五篇: 路由网关(zuul)(Finchley版本)
- 玩转SpringCloud(F版本) 四.路由网关(zuul)
- SpringCloud 进阶之Zuul(路由网关)
- springcloud入门之路由网关zuul
- SpringCloud 微服务 (十三) 服务网关 Zuul 路由
- springcloud 入门 7 (zuul路由网关)
- Spring Cloud学习:04路由网关(Zuul)
- Spring Cloud 入门教程(九): 路由网关zuul
- spring cloud : 网关Zuul(过滤:安全、监控、限流、路由)
- SpringCloud入门5:路由网关(zuul)
- 白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理
- 【Spring Cloud】Zuul 路由访问
- API网关性能比较:NGINX vs. ZUUL vs. Spring Cloud Gateway vs. Linkerd(转)
- SpringCloud+Zuul(API网关)
- 3--SpringCloud网关zuul