欢迎光临散文网 会员登陆 & 注册

学习记录之注册中心Nacos及Dubbo

2022-07-25 20:14 作者:星月袭空  | 我要投稿

Nacos是Spring Cloud Alibaba提供的一个软件,这个软件主要具有注册中心和配置中心的功能

微服务中所有项目都必须注册到注册中心才能成为微服务的一部分,我们要让我们编写的项目注册到Nacos,才能真正是微服务项目

Nacos心跳机制:

    Nacos内部注册的服务都会有一个心跳机制,心跳机制的目的,是每个服务和Nacos保持沟通和交换信息的机制

    默认情况下,服务启动后每隔5秒会向Nacos发送一个"心跳包",这个心跳包中包含了当前服务的基本信息

    Nacos接收到这个心跳包,首先检查当前服务在不在注册列表中,如果不在按新服务的业务进行注册,如果在,表示当前这个服务是健康状态

    如果一个服务连续3次心跳(默认15秒)没有和Nacos进行信息的交互,就会将当前服务标记为不健康的状态

    如果一个服务连续6次心跳(默认30秒)没有和Nacos进行信息的交互,Nacos会将这个服务从注册列表中剔除

这些时间都是可以通过配置修改的,实际上Nacos的服务类型还有分类

* 临时实例(默认),持久化实例(永久实例),默认每个服务都是临时实例如果想标记一个服务为永久实例:

持久化实例启动时向nacos注册,nacos会对这个实例进行持久化处理,心跳包的规则和临时实例一致,只是不会将该服务从列表中剔除,一般情况下,我们创建的服务都是临时实例,只有项目的主干业务才会设置为永久实例.

另外解析一下mysql配置都是什么意思

    

useSSL使用ssl加密

useUnicode使用unicode编码

characterEncoding设置字符集utf-8

serverTimezone时区

allowMultiQuerie允许二进制数据 

 Dubbo概述:

RPC是Remote Procedure Call的缩写 翻译为:远程过程调用

目标是为了实现两台(多台)计算机\服务器,相互调用方法\通信的解决方案

RPC只是实现远程调用的一套标准

该标准主要规定了两部分内容

序列化协议:

    序列化协议指通信内容的格式,双方都要理解这个格式

    发送信息是序列化过程,接收信息需要反序列化

通信协议

    通信协议指的就是远程调用的通信方式

    实际上这个通知的方式可以有多种

    例如:写信,飞鸽传书,闪送等等

Dubbo是一套RPC框架。既然是框架,我们可以在框架结构高度,定义Dubbo中使用的通信协议,使用的序列化框架技术,而数据格式由Dubbo定义,我们负责配置之后直接通过客户端调用服务端代码。

可以说Dubbo就是RPC概念的实现

Dubbo是SpringCloudAlibaba提供的框架

能够实现微服务相互调用的功能!

Dubbo的发展历程:

Dubbo对协议的支持

RPC框架分通信协议和序列化协议

Dubbo框架支持多种通信协议和序列化协议,可以通过配置文件进行修改

Dubbo支持的通信协议

* dubbo协议(默认)

* rmi协议

* hessian协议

* http协议

* webservice

* .....

支持的序列化协议

* hessian2(默认)

* java序列化

* compactedjava

* nativejava

* fastjson

* dubbo

* fst

* kryo

Dubbo默认情况下,支持的协议有如下特征

* 采用NIO单一长链接

* 优秀的并发性能,但是处理处理大型文件的能力差

Dubbo方便支持高并发和高性能

Dubbo服务的注册与发现

在Dubbo的调用过程中,必须包含注册中心的支持

注册中心推荐阿里自己的Nacos,兼容性好,能够发挥最大性能

但是Dubbo也支持其它软件作为注册中心(例如Redis,zookeeper等)

服务发现,即消费端自动发现服务地址列表的能力,是微服务框架需要具备的关键能力,借助于自动化的服务发现,微服务之间可以在无需感知对端部署位置与 IP 地址的情况下实现通信。

Dubbo的注册发现流程:

1.首先服务的提供者启动服务时,将自己的具备的服务注册到注册中心,启动包括当前提供者的ip地址和端口号等信息,Dubbo会同时注册该项目提供的远程调用的方法

2.消费者(使用者)启动项目,也注册到注册中心,同时从注册中心中获得当前项目具备的所有服务列表

3.当注册中心中有新的服务出现时,会通知已经订阅发现的消费者,消费者会更新所有服务列表

4.RPC调用,消费者需要调用远程方法时,根据注册中心服务列表的信息,只需服务名称,不需要ip地址和端口号等信息,就可以利用Dubbo调用远程方法了







学习记录之注册中心Nacos及Dubbo的评论 (共 条)

分享到微博请遵守国家法律