什么是Nacos?Nacos下载及基本配置及注册中心

一、什么是服务注册

服务注册中心本质上是为了解耦服务提供者和服务消费者。对于任何一个微服务,原则上都应存在或者支持多个提供者,这是由微服务的分布式属性决定的。更进一步,为了支持弹性扩缩容特性,一个微服务的提供者的数量和分布往往是动态变化的,也是无法预先确定的。因此,原本在单体应用阶段常用的静态LB机制就不再适用了,需要引入额外的组件来管理微服务提供者的注册与发现,而这个组件就是服务注册中心

1、CAP理论

CAP理论是分布式架构中重要理论

C: 一致性(Consistency) (所有节点在同一时间具有相同的数据)
A:可用性(Availability) (保证每个请求不管成功或者失败都有响应)
P:分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)     

CAP 不可能都取,只能取其中2个:

如果C是第一需求的话,那么会影响A的性能,因为要数据同步,不然请求结果会有差异,但是数据同步会消耗时间,期间可用性就会降低。

如果A是第一需求,那么只要有一个服务在,就能正常接受请求,但是对与返回结果变不能保证,原因是,在分布式部署的时候,数据一致的过程不可能想切线路那么快。

再如果,同时满足一致性和可用性,那么分区容错就很难保证了,也就是单点,也是分布式的基本核心,明白这些理论,就可以在相应的场景选取服务注册与发现了

 
2、服务注册中心解决方案

设计或者选型一个服务注册中心,首先要考虑的就是服务注册与发现机制。纵观当下各种主流的服务注册中心解决方案,大致可归为三类:

    应用内:直接集成到应用中,依赖于应用自身完成服务的注册与发现,最典型的是Netflix提供的Eureka

    应用外:把应用当成黑盒,通过应用外的某种机制将服务注册到注册中心,最小化对应用的侵入性,比如Airbnb的SmartStack,HashiCorp的Consul

    DNS:将服务注册为DNS的SRV记录,严格来说,是一种特殊的应用外注册方式,SkyDNS是其中的代表

 

除了基本的服务注册与发现机制,从开发和运维角度,至少还要考虑如下五个方面:

    测活:服务注册之后,如何对服务进行测活以保证服务的可用性?

    负载均衡:当存在多个服务提供者时,如何均衡各个提供者的负载?

    集成:在服务提供端或者调用端,如何集成注册中心?

    运行时依赖:引入注册中心之后,对应用的运行时环境有何影响?

    可用性:如何保证注册中心本身的可用性,特别是消除单点故障?

3、主流注册中心产品

什么是Nacos?Nacos下载及基本配置及注册中心_第1张图片

 

二、什么是Nacos

Nacos 是阿里巴巴2018年7月份开源的项目,如其名, Naming and Configuration Service ,专注于服务发现和配置管理领域,

Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供「注册中心」、「配置中心」和「动态DNS服务」三大功能

官方定义:

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。


1、注册中心

什么是Nacos?Nacos下载及基本配置及注册中心_第2张图片

 Nacos注册中心分为server与client,server采用Java编写,为client提供注册发现服务与配置服务。而client可以用多语言实现,client与微服务嵌套在一起,nacos提供sdk和openApi,如果没有sdk也可以根据openApi手动写服务注册与发现和配置拉取的逻辑

2、注册中心原理

什么是Nacos?Nacos下载及基本配置及注册中心_第3张图片

服务注册方法:以Java nacos client v1.0.1 为例子,服务注册的策略的是每5秒向nacos server发送一次心跳,心跳带上了服务名,服务ip,服务端口等信息。同时 nacos server也会向client 主动发起健康检查,支持tcp/http检查。如果15秒内无心跳且健康检查失败则认为实例不健康,如果30秒内健康检查失败则剔除实例

2、下载安装

 官网:

https://nacos.io/zh-cn/index.html

Nacos下载地址:

https://github.com/alibaba/nacos/releases

windows安装时注意nacos所在的目录不能出现中文,在启动时nacos默认为集群模式(cluster),因为没有配置集群,我们需要把其调整为单机模式(standalone),可以调整startup.cmd进行编辑如下:

什么是Nacos?Nacos下载及基本配置及注册中心_第4张图片

 调整完之后双击startup.cmd启动,启动成功看到如下页面:

什么是Nacos?Nacos下载及基本配置及注册中心_第5张图片

打开浏览通过复制地址:http://192.168.2.183:8848/nacos/index.html 访问进入到管理界面

什么是Nacos?Nacos下载及基本配置及注册中心_第6张图片

用户名和密码都是nacos,点击登录进入系统

 什么是Nacos?Nacos下载及基本配置及注册中心_第7张图片

 

 

你可能感兴趣的:(java,springcloud)