提交 f13b7fdd authored 作者: Administrator's avatar Administrator

add doc

上级 55c191e2
......@@ -20,3 +20,79 @@ spring-cloud-timeloit --timeloit spring cloud
├── spring-cloud-timeloit-sentinel-gateway --网关限流组件封装-限流
```
# 项目如何引入组件
pom.xml
```
<properties>
<spring-cloud-timeloit.version>0.0.1-SNAPSHOT</spring-cloud-timeloit.version>
</properties>
```
```
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.timeloit.cloud</groupId>
<artifactId>spring-cloud-timeloit</artifactId>
<version>${spring-cloud-timeloit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://39.100.254.140:12010/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://39.100.254.140:12010/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>nexus-loit-dev</id>
<name>Nexus Repository</name>
<url>http://39.100.254.140:12010/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-loit-dev</id>
<name>Nexus Plugin Repository</name>
<url>http://39.100.254.140:12010/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
```
# Nexus 地址
```
http://39.100.254.140:12010/
```
......@@ -106,7 +104,9 @@ pom.xml
```
跳过测试请加 -Dmaven.test.skip=true
# 跳过测试
加 -Dmaven.test.skip=true
```
clean deploy -Dmaven.test.skip=true
......
# 一、配置中心server nacos安装
文档位置
```
1、安装配置\Docker Compose nacos 安装.md
```
# 二、服务注册与发现
pom 添加
```
<!-- nacos -->
<dependency>
<groupId>com.timeloit.cloud</groupId>
<artifactId>spring-cloud-timeloit-nacos-discovery</artifactId>
</dependency>
```
```
spring:
cloud:
nacos:
discovery:
# Nacos 注册中心地址
server-addr: 39.100.254.140:8103
```
Application添加注解 @EnableDiscoveryClient
```
@EnableDiscoveryClient
public class NacosProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosProviderApplication.class, args);
}
}
```
# 一、配置中心server 安装
文档位置
```
1、安装配置\Docker Compose nacos 安装.md
```
# 二、项目集成配置中心
## 1、引入依赖:
```
<dependency>
<groupId>com.timeloit.cloud</groupId>
<artifactId>spring-cloud-timeloit-nacos-config</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
```
## 2、创建文件 resources/bootstrap.properties
```
spring.profiles.active=devnacos
# Nacos 配置中心上配置文件名称 前缀
spring.application.name=loit-portal
# Nacos 配置中心地址
spring.cloud.nacos.config.server-addr=192.168.66.40:8848
# spring.cloud.nacos.config.group=DEFAULT_GROUP
# spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.file-extension=yaml
spring.cloud.nacos.config.namespace=e15d31e9-88f3-4f8d-be57-916992ea757c
```
## 3、配置属性说明
* **spring.cloud.nacos.config.namespace **
* * 命名空间
* * 不填默认 pubic
* * 填写时使用命名空间ID
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200108105223242.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI3Mzg0NzY5,size_16,color_FFFFFF,t_70)
* **nacos上的配置文件: loit-portal-devnacos.yaml**
* * spring.profiles.active=devnacos
* * spring.application.name=loit-portal
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200108105611798.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI3Mzg0NzY5,size_16,color_FFFFFF,t_70)
**注意** 需要将本地相应的配置文件删除如:loit-portal-devnacos.yaml。优先使用本地对应配置
## 4、配置自动刷新
增加属性 @RefreshScope
```
@RestController
@RequestMapping(value = "demo")
@RefreshScope
public class CasServerLoginValidateController {
@Value("${echo.info}")
private String echoInfo;
@RequestMapping("/echo")
public String simple() {
return "echoInfo: " + echoInfo;
}
}
```
\ No newline at end of file
# 熔断器
### feign 熔断
```
<!-- 熔断器 -->
<dependency>
<groupId>com.timeloit.cloud</groupId>
<artifactId>spring-cloud-starter-timeloit-sentinel</artifactId>
</dependency>
```
```
spring:
cloud:
sentinel:
transport:
port: 8720
dashboard: localhost:8080
```
fallback = EchoServiceFallback.class
```
@FeignClient(name = "storage-service", fallback = EchoServiceFallback.class)
public interface StorageFeignClient {
@GetMapping("storage/deduct")
Boolean deduct(@RequestParam("commodityCode") String commodityCode, @RequestParam("count") Integer count);
}
```
```
@Component
@Slf4j
public class EchoServiceFallback implements StorageFeignClient{
@Override
public Boolean deduct(String commodityCode, Integer count) {
throw new RuntimeException("服务关闭了");
}
}
```
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论