mall
day01 springcloudalibaba微服务组件学习
Nacos[作为注册中心]
- 使用步骤
- 导入依赖
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
- 启动Nacos Server 服务器
- 在配置文件中配置 Nacos Server 地址
官方实例: spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 - 使用 @EnableDiscoveryClient 注解开启服务注册与发现功能
- 官方demo
-
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {public static void main(String[] args) { SpringApplication.run(Application.class, args); } @RestController class EchoController { @GetMapping(value = "/echo/{string}") public String echo(@PathVariable String string) { return string; } }
}
-
- nacos本地注册服务器查看已经注册的微服务
- 官方demo
- 导入依赖
Feign[声明式远程调用]
1. 使用步骤
1. 导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
Nacos[作为配置中心]
1. 使用步骤
1. 导入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2. 在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据
spring.application.name=nacos-config-example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
3. 完成上述两步后,应用会从 Nacos Config 中获取相应的配置,并添加在 Spring Environment 的 PropertySources 中。这里我们使用 @Value 注解来将对应的配置注入到 SampleController 的 userName 和 age 字段,并添加 @RefreshScope 打开动态刷新功能
4. 给配置中心默认添加一个叫 数据集(Data Id).数据集命名默认规则,应用名.properties
5. 给 应用名.properties 添加配置
6. 动态获取配置
@RefreshScope:动态获取并刷新配置
@Value("${配置项的名}"),获取到配置
如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。
2. 细节
1. 命名空间:配置隔离
1. 默认:public(保留空间):默认新增的所有配置都在public空间
2. 作用
1. 利用命名空间做环境隔离:开发、测试、生产
1. 注意:需要在bootstrap.properties配置需要使用那个命名空间下的配置,spring.cloud.nacos.config.namespace=命名空间ID
2. 每一个微服务间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置
2. 配置集:所有的配置的集合
3. 配置集ID:类似于文件名
Data ID : 类似文件名
4. 配置分组
1. 默认所有的配置集都属于:DEFAULT_GROUP
1. spring.cloud.nacos.config.group=组名
3. 同时加载多个配置集
1. 微服务任何配置信息、任何配置文件都可以放在配置中心中
2. 只需要在bootstrap.properties说明加载配置中心中那些配置文件即可
3. 以前SpringBoot中任何可以从配置文件中获取值注解都可以使用,如:@Value、@ConfigurationProperties...等,配置中心中有的配置优先使用配置配置中心中的配置
Gateway[作为网关]
1. 简介:网关作为流量的入口,常用功能包括路由转发、权限校验、限流控制等。