详细内容
相关配置信息
工程目录:
关于application.yml中的配置:
服务提供者:provider
server:
port: 8081
#数据库连接信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/boot?useSSL=false&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
application:
name: service-provider #将来会作为微服务的名称
#配置mybatis信息,pojo别名扫描包
mybatis:
type-aliases-package: com.ly.domain
eureka:
client:
service-url:
defaultZone: http://localhost:10086/eureka
register-with-eureka: true #默认值为true,服务提供方启动时,会检测该参数是否为true,true-注册给eureka
instance:
lease-renewal-interval-in-seconds: 5 #心跳时间
lease-expiration-duration-in-seconds: 15 #过期时间
服务调用者:consumer
server:
port: 8088
spring:
application:
name: service-consumer #将来会作为微服务的名称
eureka:
client:
service-url:
defaultZone: http://localhost:10086/eureka
fetch-registry: true #是否拉取服务,默认为true
registry-fetch-interval-seconds: 5 #拉取服务的间隔时间
service-provider:
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 6000 #设置hystrix的超时时间为6000ms
feign:
hystrix:
enabled: true #开启Feign的熔断功能
Eureka服务注册中心:
server:
port: 10086
spring:
application:
name: ly-eureka #将来会作为微服务名称注入到eureka容器
eureka:
client:
service-url:
defaultZone: http://localhost:${server.port}/eureka
#server:
#eviction-interval-timer-in-ms: 5000 #失效剔除时间,单位毫秒
#enable-self-preservation: false #关闭自我保护状态
Zuul网关:
server:
port: 10010
spring:
application:
name: ly-zuul
#zuul: #路由配置方式1
#routes:
#service-provider:
#path: /service-provider/**
#url: http://localhost:8081
#zuul: #路由配置方式2
#routes:
#service-provider:
#path: /service-provider/**
#serviceId: service-provider
zuul: #路由配置方式3,推荐
routes:
service-provider: /provider/**
service-consumer: /consumer/**
prefix: /api
eureka:
client:
service-url:
defaultZone: http://localhost:10086/eureka
启动器相关:
<!--web启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- mybatis启动器 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!-- 通用Mapper启动器 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
<!-- mysql驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
<scope>runtime</scope>
</dependency>
<!--jdbc启动器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--提供一些测试接口-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--Euraka服务器端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!--Euraka客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
<!--网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<!--熔断-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!--分页助手启动器-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>