SpringCloudAlibaba
maven引入
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Nacos
1. 环境准备
- 1.64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
- 2.64 bit JDK 1.8+;下载 & 配置。
- 3.Maven 3.2.x+;下载 & 配置。
2. 下载Nacos
# 1.下载nacos
- https://github.com/alibaba/nacos/releases
nacos-server.tar.gz # linux/unix/mac版本
nacos-server.zip # windows 版本
3. Nacos文件夹
- bin 启动nacos服务的脚本目录
- conf nacos的配置文件目录
- target nacos的启动依赖存放目录
- data nacos启动成功后保存数据的目录
4. 安装Nacos服务
- linux/unix/mac启动
打开终端进入nacos的bin目录执行如下命令
./startup.sh -m standalone
- windows启动
在 cmd中
执行 startup.cmd -m standalone 或者双击startup.cmd运行文件。
5. 访问Nacos服务
- http://localhost:8848/nacos/
- 用户名 和 密码都是nacos
6. 开发服务注册
1. 创建项目引入依赖
<!--引入nacos client的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2. 配置注册地址
server.port=8789 #指定当前服务端口
spring.application.name=nacosclient #指定服务名称
spring.cloud.nacos.server-addr=localhost:8848 #指定nacos服务地址
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr} #指定注册中心地址
management.endpoints.web.exposure.include=* #暴露所有web端点
3. 开启服务注册
@EnableDiscoveryClient
Gateway网关
1. 添加maven
注意: gateway和springboot版本要对应
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-spring-cloud-gateway-adapter</artifactId>
</dependency>
2. 书写配置文件
spring:
application:
name: gateway
cloud:
nacos:
discovery:
server-addr: localhost:8848
gateway:
routes:
- id: netty # 唯一标识符
uri: lb://netty # Nacos中的服务名称
predicates:
- Path=/netty/** # 匹配路径
filters:
- StripPrefix=1 # 请求转发时清除一个最前面的路径
- id: chart
uri: lb://chart
predicates:
- Path=/char/**
filters:
- StripPrefix=1
3. 添加注解
package ink.yql.gateway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
Sentinel
1. 下载sentinel
https://github.com/alibaba/Sentinel/releases
2. 启动sentinel
java -Dserver.port=9191 -jar sentinel-dashboard-1.7.2.jar
3. 登录
用户名&密码: sentinel
4. sentinel实时监控服务
1. 引入依赖
<!--引入nacos client依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--引入sentinel依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
2. 配置文件
server.port=8789
spring.application.name=nacosclient
spring.cloud.nacos.server-addr=localhost:8848
spring.cloud.nacos.discovery.server-addr=${spring.cloud.nacos.server-addr}
spring.cloud.sentinel.enabled=true # 开启sentinel 默认开启
spring.cloud.sentinel.transport.dashboard=localhost:9191 # 连接dashboard
spring.cloud.sentinel.transport.port=8719