1.Eureka
1.1在Eureka工程的pom引入spring-cloud-starter-netflix-eureka-server依赖。
1.2编写启动类并在其上加@EnableEurekaServer和@SpringBootApplication
1.3在注册工程的resources下建个application.yml并写如下内容:
1.3.1
server:
port: 10086 #定义自己的端口为10086
spring:
application:
name: ly-registry #定义自己的名字为ly-registry
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka #向EurekaServer(也就是自己)注册自己,防止自己也挂掉。
2.所有的服务方和调用方
2.1各服务在自己pom引入spring-cloud-starter-netflix-eureka-client依赖。
2.2编写启动类并在其上加@EnableDiscoveryClient和@SpringBootApplication
2.3在自己工程的resources下建个application.yml并写如下内容:
server:
port: 8081
spring:
application:
name: item-service
datasource:
url: jdbc:mysql://localhost:3306/yun6
username: root
password: root
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka #向EurekaServer注册自己。
instance:
prefer-ip-address: true #允许自定义ip地址
ip-address: 127.0.0.1 #自定义的地址
3.Zuul网关服务
3.1在自己pom引入spring-cloud-starter-netflix-eureka-client依赖和spring-cloud-starter-netflix-zuul依赖。
3.2编写启动类并在其上加@EnableZuulProxy和@SpringBootApplication
3.3在自己工程的resources下建个application.yml并写如下内容:
server:
port: 10010
spring:
application:
name: api-gateway
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka
zuul:
prefix: /api #添加路由前缀
routes:
item-service: /item/** #添加路由
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 5000 #熔断超时时长5000ms
ribbon:
ConnectionTimeOut: 1000 #ribbon链接超时时长
ReadTimeOut: 3500 #ribbon读取超时时长
MaxAutoRetries: 0 #当前服务重试次数
MaxAutoRetriesNextServer: 0 #切换服务重试次数
课件以及演示demo地址:
https://wws.lanzous.com/b01zz9vzc
密码:gceh