CloudAlibaba of service providers -Nacos-1

servant

这里的服务者,具体指的是服务调用方,服务提供方. 一般来说俩者是 成对出现的.

Here Insert Picture Description

Service Discovery principle

Here Insert Picture Description
目标:
服务消费者感知到服务提供者地址的变化:

可以看作 MySql . 每次有服务启动的话,则在MySql中添加一条记录.
通过MySql,可以获取到所有的服务的信息.
比如:服务名字,IP地址,端口号,状态信息等	
1. 服务调用方缓存 服务发现组件 提供的 服务提供方的地址
2. 每次服务提供方向服务发现组件发送心跳,发送自己的信息

Nacox

Outline

Official website

nacos 是一个服务发现组件,也是一个服务配置服务器. 解决了以下问题:
1. 服务调用方 找到 服务提供方 的问题
2. 管理微服务的配置

Here Insert Picture Description

Introduced nacos

引入nacos之后的架构:
Here Insert Picture Description

Build nacos

download link

1. 点击 spring-cloud-alibaba-dependencies ,进入 spring-cloud-alibaba-dependencies.pom
2. 查看 nacos 依赖的版本
3. 在官网下载对应的nacos 版本

Reference Documents

4. 双击 startup.cmd
5. 访问: localhost:8848/nacos
6. 输入账号密码: nacos nacos

Registration Service

注册服务到 nacos:

1. 添加依赖
2. 添加注解: @EnableDiscoveryClient:  此处不需要写注解
3. 书写配置 

总的来说,引入依赖,写配置即可
Here Insert Picture Description
server-addr: 不要加协议,即:http://

start up

报了个警告:
Here Insert Picture Description

在 yml中的配置增加配置项:
application:
	# 服务名称尽量使用-,而不是_ ;使用中划线,而不是下划线
	name: user-service

注册成功:
Here Insert Picture Description

DiscoveryClient

DiscoveryClient 是SpringCLoud提供的API, 无论是eureka,zuul,还是consul都可以使用.

DiscoveryClient 是SpringCloud 提供的接口. 根据服务名字获得所有的服务实例
@Autowired
    private DiscoveryClient discoveryClient;

    @GetMapping("/getInstances")
    public List<ServiceInstance> getInstances(){
     List<ServiceInstance> instances = discoveryClient.getInstances("x");
     return instances;
    }

Here Insert Picture Description
总结:

1. 添加 springcloud 版本管理 和cloudAlibaba 版本管理
2. 添加 nacos的依赖
3. 编写配置信息
4. 启动服务
5. DiscoveryClient: SpringCloud 提供的接口,获得所有的服务实例
	5.1 其他的注册中心,诸如: consul/eureka/zookeeper 也可以使用该组件
6. 服务调用方 可以感知到 服务提供方 的实例变化:实力增减,等信息 
Published 36 original articles · won praise 1 · views 50000 +

Guess you like

Origin blog.csdn.net/DXH9701/article/details/103874325