Open andonr opened 6 years ago
zuul:
routes:
service0: /service0_test/** #/service0_test/**的请求会跳转到service0的**,如/service0_test/user请求会跳转到service0的/user
service1: /service1/**
gateway 去找service 是找注册到注册中的服务名称的,在服务提供者的application.yml里面配置的
spring:
application:
name: service0
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8080/eureka/ #注册中心地址
instance:
hostname: localhost
instance-id: http://localhost:8081
server:
port: 8081
name: service0
服务和gateway都可以在注册中心上看到
1、创建maven工程 2、编写pom.xml
3、右键pom.xml->Maven->Create settings.xml
4、右键pom.xml->Maven->Download Sources 5、右键工程,创建子Module,ArtifactId设置为discovery,作为服务注册中心 pom.xml中增加依赖
默认情况下,src/main/java是源码路径,右键java目录,新建一个包路径,如discovery 右键discovery,增加一个注册中心类,如DiscoveryApplicaion
在resources目录下创建application.yml
配置启动配置,Application,java类,module信息。 启动该module,就可以访问http://localhost:8080/看到注册中心的状态了,不过目前没有服务
6、创建service0 右键工程,继续创建一个module,ArtifactId设置为service0_test,作为服务提供者 创建service0_test包路径,创建Service0Test类
在resources下创建application.yml
对外,只和这里的name:service0有关,启动之后,可以访问 http://localhost:8081/service0 也可以在注册中心中看到service0注册成功 http://localhost:8080
7、同样方法创建service1
8、创建gateway路由 创建gateway的module pom.xml增加
增加gateway包路径,增加Gateway类
在resources中增加application.yml
zuul配置解释 https://github.com/andonr/vue/issues/3#issuecomment-362229864
访问http://localhost:8080/ 可以看到gateway也注册上去了 http://localhost:8083/service0/service0 即/service0/service0转发到service0的/service0路径 http://localhost:8083/service1/service1 都可以访问了