Spring Boot和Spring Cloud项目根据业务被切分成多个微服务,微服务之间通过nacos完成相互调用。
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-context</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
</dependencies>
application.yml
spring:
cloud:
sentinel:
transport:
dashboard: ${stone.sentinel.dashboard.host:localhost}:${stone.sentinel.dashboard.port:8021}
main:
allow-bean-definition-overriding: true
feign:
sentinel:
enabled: true
okhttp:
enabled: true
client:
config:
default:
connectTimeout: ${stone.feign.client.config.default.connectTimeout:20000}
readTimeout: ${stone.feign.client.config.default.readTimeout:20000}
bootstrap.yml
spring:
profiles:
active: test
application:
name: datahub-webservice
cloud:
nacos:
config:
server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848}
enabled: true
file-extension: yaml
namespace: ${SC_NAME_SPACE:12345678-1234-1234-1234-1234567890} #换成自己的
shared-configs: app-common.yaml
discovery:
enabled: true
main:
allow-bean-definition-overriding: true
Application
@EnableFeignClients(basePackages = {"com.demo.*"})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}