官网:home (nacos.io)
nacos-server下载地址:Releases · alibaba/nacos (github.com)
nacos-server-2.1.1\nacos\bin
目录下打开命令行窗口,输入startup.cmd -m standalone
;访问http://localhost:8848/nacos
,用户名、密码全部默认为 nacos
。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacosdiscovery</artifactId>
</dependency>
application.yml
## application.yml
server:
port:
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置Nacos地址
management:
endpoints:
web:
exposure:
include: '*'
application.yml
# 额外添加
service-url:
nacos-user-service: http://nacos-payment-provider
@EnableDiscoveryClient
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacosconfig</artifactId>
</dependency>
springboot 读取配置文件的优先级:**bootstrap.yml > application.yml
bootstrap.yml
# nacos配置
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 # Nacos服务注册中心地址
config:
server-addr: localhost:8848 # Nacos作为配置中心地址_
file-extension: yaml # 指定yaml格式的配置
namespace: # 命名空间id
group: DEV_GROUP
application.yml
spring:
profiles:
active: dev # 开发环境
@RefreshScope
实现配置自动更新DataID:${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
Group:`${spring.cloud.nacos.config.group}
配置格式:YAML
nacos-server-2.1.1\nacos\con\nacos-mysql.sql
nacos-server-2.1.1\nacos\con\application.properties
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=tr
db.user=
db.password=
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
@EnableFeignClients
@FeignClient
@Component
@FeignClient(value = "service-provider")
public interface FeignService {
@GetMapping(value = "/provider/getPort")
String getServerPortOfProvider();
}
service-provider
@RestController
public class ProviderController {
@Value("${server.port}")
private String serverPort;
@GetMapping(value = "/provider/getPort")
public String getServerPortOfProvider() {
return this.serverPort;
}
}
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
spring:
cloud:
gateway:
discovery:
locator:
enabled: true # 开启从注册中心动态创建路由的功能,利用微服务名进行路由
routes:
- id: payment_routh #payment_route #路由的ID,没有固定规则但要求唯一,建议配合服务名
uri: lb://cloud-payment-service #匹配后提供服务的路由地址
predicates:
- Path=/payment/get/** # 断言,路径相匹配的进行路由
- id: payment_routh2 #payment_route #路由的ID,没有固定规则但要求唯一,建议配合服务名
uri: lb://cloud-payment-service #匹配后提供服务的路由地址
filters:
- AddRequestHeader=X-Request-red, blue # 更多Gateway filter配置到官网查看
predicates:
- Path=/payment/lb/** # 断言,路径相匹配的进行路由
- After=2017-01-20T17:42:47.789-07:00[America/Denver] # 更多断言配置到官网查看
@Component
public class MyLogGateWayFilter implements GlobalFilter, Order {
@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
String name = exchange.getRequest().getQueryParams().getFirst("name");
if (name == null) {
exchange.getResponse().setStatusCode(HttpStatus.MULTI_STATUS);
return exchange.getResponse().setComplete();
}
return chain.filter(exchange);
}
@Override
public int value() {
return 0;
}
@Override
public Class<? extends Annotation> annotationType() {
return null;
}
}
官网:home (sentinelguard.io)
下载地址:Releases · alibaba/Sentinel (github.com)
java -jar sentinel-dashboard-1.8.5.jar
访问 sentinel 管理界面,账号密码均为 sentinel,http://localhost:8080
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- 用于流控规则持久化 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-datasource-nacos</artifactId>
</dependency>
spring:
application:
name: cloudalibaba-sentinel-service
cloud:
nacos:
discovery:
#Nacos服务注册中心地址
server-addr: localhost:8848
sentinel:
transport:
#配置Sentinel dashboard地址
dashboard: localhost:8080
#默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口
port: 8719
@SentinelResource
、熔断、规则持久化下载:Central Repository: io/zipkin/zipkin-server (maven.org)
java -jar zipkin-server-2.23.8-exec.jar
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
spring:
application:
name:
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
probability: 1
http://localhost:9411/
官网:Spring Cloud Stream
第一步:添加maven坐标
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
转载自: https://www.cnblogs.com/HypoPine/p/16731679.html