spring cloud学习
Eureka
可提供服务注册服务:
--高可用Eureka简单配置
--peer1
server:
port: 8762
port: 8762
spring:
application:
name: eureka-server
eureka:
instance:
client:
serviceUrl:
defaultZone: http://peer2:8761/eureka/
application:
name: eureka-server
eureka:
instance:
hostname: peer1 #(配置本地主机地址127.0.0.1 peer1)
prefer-ip-address: falseclient:
serviceUrl:
defaultZone: http://peer2:8761/eureka/
--peer2
server:
port: 8761
spring:
application:
name: eureka-server
port: 8761
spring:
application:
name: eureka-server
eureka:
instance:
hostname: peer2
client:
service-url:
defaultZone: http://peer1:8762/eureka/
instance:
hostname: peer2
client:
service-url:
defaultZone: http://peer1:8762/eureka/
服务提供方:
server:
port: 8000
port: 8000
spring:
application:
name: microservice-provider-user
application:
name: microservice-provider-user
logging:
level:
root:INFO
level:
root:INFO
eureka:
client:
serviceUrl:
defaultZone: http://peer1:8762/eureka/,http://peer2:8761/eureka/
instance:
preferIpAddress=false
client:
serviceUrl:
defaultZone: http://peer1:8762/eureka/,http://peer2:8761/eureka/
instance:
preferIpAddress=false
在服务启动类加上 @EnableDiscoveryClient
--服务调用方使用ribbon做软件负载
server:
port: 8010
spring:
application:
name: microservice-consumer-movie-ribbon
eureka:
client:
serviceUrl:
defaultZone: http://peer1:8762/eureka/
instance:
preferIpAddress: true
port: 8010
spring:
application:
name: microservice-consumer-movie-ribbon
eureka:
client:
serviceUrl:
defaultZone: http://peer1:8762/eureka/
instance:
preferIpAddress: true
同样需要在服务启动类加上注解@EnableDiscoveryClient
--feign 做负载均衡
server:
port: 8020
spring:
application:
name: microservice-consumer-movie-feign
eureka:
client:
serviceUrl:
defaultZone: http://peer1:8762/eureka/
instance:
preferIpAddress: true
ribbon:
eureka:
enabled: true
port: 8020
spring:
application:
name: microservice-consumer-movie-feign
eureka:
client:
serviceUrl:
defaultZone: http://peer1:8762/eureka/
instance:
preferIpAddress: true
ribbon:
eureka:
enabled: true
--需要在服务启动类上加上@EnableDiscoveryClient
--@EnableFeignClients
--@EnableFeignClients
个人理解:feign在ribbon的基础上封装了对服务提供者调用操作,ribbon需要自己构建http请求,feign则面向接口,对可发者更友好
Zuul
添加依赖
<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>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.3</version>
</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>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.1.3</version>
</dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version>
</dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version>
</dependency>
配置信息:
spring.application.name = microservice-api-gateway
server.port= 8060
eureka.instance.hostname=gateway
eureka.client.serviceUrl.defaultZone=http://peer1:8762/eureka/,http://peer2:8761/eureka/
server.port= 8060
eureka.instance.hostname=gateway
eureka.client.serviceUrl.defaultZone=http://peer1:8762/eureka/,http://peer2:8761/eureka/
在启动类添加Zuul代理注解
@SpringBootApplication
@EnableZuulProxy
@EnableZuulProxy
启动后,可以通过Zuul服务地址:端口/eureka服务名小写/eureka服务资源***
可以配置映射路径:zuul.routes.microservice-provider-user.path = /user-provider/**
zuul.routes.servicename.path:servicename 和 eureka服务id不一致时,需要配置service-id
zuul.routes.user.path = /**
zuul.routes.user.service-id = microservice-provider-user
zuul.ignored-services = microservice-provider-user 忽略eureka上的一些服务

浙公网安备 33010602011771号