[bigdata-111] spring-cloud-07 api网关服务
来源:互联网 发布:日本球员 中超 知乎 编辑:程序博客网 时间:2024/05/19 06:37
1. api网关
后面有很多服务,对外用api网管统一提供访问。如果一个用户访问api网关,那么,api网关就会将这些调用转发到后面的诸多服务,然后获取服务结果再返回。而后端的服务都是配置出来的。
2. 参考文献
https://github.com/dyc87112/SpringCloudBook/tree/master/api-gateway
3. 源码目录结构
.
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── brian
│ │ │ └── demo
│ │ │ └── apigateway
│ │ │ └── App.java
│ │ └── resources
│ │ └── application.properties
4. pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.brian.demo</groupId><artifactId>apigateway</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>apigateway</name><url>http://maven.apache.org</url><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.7.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><repositories><repository><id>my-nexus-central</id><name>my local nexus</name><url>http://localhost:8081/nexus/content/repositories/central/</url><releases><enabled>true</enabled><updatePolicy>never</updatePolicy></releases></repository></repositories><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zuul</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Brixton.SR5</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
5. App.java
package com.brian.demo.apigateway;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.cloud.client.SpringCloudApplication;import org.springframework.cloud.netflix.zuul.EnableZuulProxy;import org.springframework.cloud.netflix.zuul.filters.discovery.PatternServiceRouteMapper;import org.springframework.context.annotation.Bean;@EnableZuulProxy@SpringCloudApplicationpublic class App {@Beanpublic PatternServiceRouteMapper serviceRouteMapper() {return new PatternServiceRouteMapper("(?<name>^.+)-(?<version>v.+$)", "${version}/${name}");}public static void main(String[] args) {new SpringApplicationBuilder(App.class).web(true).run(args);}}
6. application.properites
spring.application.name=api-gatewayserver.port=5555eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/,http://localhost:1111/eureka/zuul.routes.api-a.path=/api/a/**zuul.routes.api-a.serviceId=hello-servicezuul.AccessFilter.pre.disable=true
7. 编译打包
mvn clean package
8. 运行
java -jar target/apigateway-0.0.1-SNAPSHOT.jar
9. 查看
根据配置,如果访问http://localhost:5555/api/a/*,那么,api网关会将这个路由转发到HELLO-SERVICE这里,因此,访问http://localhost:5555/api/a/hello,能看到一个字符串。
阅读全文
0 0
- [bigdata-111] spring-cloud-07 api网关服务
- API网关服务:Spring Cloud Zuul
- SpringCloud API网关服务(Spring Cloud Zuul)
- Spring Cloud中的API网关服务Zuul
- spring cloud Zuul(API网关服务)
- Spring Cloud入门教程(五):API服务网关(Zuul) 上
- Spring Cloud入门教程(六):API服务网关(Zuul) 下
- Spring Cloud Zuul--服务网关
- Spring Cloud 之服务网关
- Spring Cloud Zuul--服务网关
- 服务网关 Spring Cloud Zuul
- [bigdata-108] spring-cloud-04 分布式服务的feign消费者
- [bigdata-109] spring-cloud-05 分布式服务的ribbon消费者
- Spring Cloud系列五 之 服务网关
- Spring Cloud Zuul (服务网关)
- spring-cloud-zuul服务网关(五)
- Spring Cloud学习--服务网关(Zuul)
- Spring Cloud学习--服务网关(Zuul 过滤器)
- Hibernate 分页的两种方式
- linux下C语言编程操作数据库(sqlite3)
- 浅谈WebLogic和Tomcat
- 蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)
- 解码器输出PSNR为0表示什么
- [bigdata-111] spring-cloud-07 api网关服务
- Source Insight 使用
- 关于intellij idea删除project工作空间关联的问题
- Spark源码解析:RDD
- iOS Hacker LLDB 和 debugserver 实例调试
- Spark 简介(三)
- pb_保存上次登陆的用户
- 创建一个自己的jar包
- Spark源码解析:DStream