目录
20、分布式组件-SpringCloud Alibaba简介
前面创建了基本的几个微服务,然后生成了基本的增删改查代码
接下来需要搭建出分布式系统的基本环境
首先,分布式系统中我们需要知道注册中心、配置中心、网关
在分布式系统中,如果我们有多个微服务,那么每个微服务上线后都需要将它注册到注册中心。
接下来,我们还需要配置中心,每个微服务的配置众多,比如商品服务在10台机器上,如果我们要修改10台机器,那么久很麻烦。我们希望有一个配置中心,集中管理配置。所有的商品服务从配置中心获取它的配置
我们还需要一个网关,所有前端的请求,都需要通过网关,进行统一的鉴权、过滤、路由等等。由我们的网关抵达其他的服务。来做一些预先的工作。
在spring cloud 的第一代中,这三种功能分别对应:
Eureka 、 config 、 zuul
还有短路保护 : Hystrix
我们使用的spring-cloud-alibaba
下面是课件中的一些内容
版本选择
在common中引入 spring-cloud-alibaba 的依赖
版本管理, 在dependencies中就不需要写版本了。
21、分布式组件-SpringCloud Alibaba-Nacos注册中心
首先,我们使用Nacos作为注册中心
来张图
Nacos 作为注册中心的使用可以在官网上找到
1 首先,修改 pom.xml 文件,引入 Nacos Discovery Starter。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2 在应用的 /src/main/resources/application.properties 配置文件中配置 Nacos Server 地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
3 使用 @EnableDiscoveryClient 注解开启服务注册与发现功能
@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class, args);
}
@RestController
class EchoController {
@GetMapping(value = "/echo/{string}")
public String echo(@PathVariable String string) {
return string;
}
}
}
下载注册中心
启动后,在微服务中加入nacos作为注册中心
开启nacos
启动项目,发现没有在nacos中发现对应服务
需要加上项目名称
这样就能看到了
简单总结: