第一模块:
课程名称:
课程章节: 第四章 Alibaba Nacos:服务注册与配置中心
主讲老师:
第二模块:
今天学习的内容包括:
部署Alibaba Nacos 单机版本 集群化部署 服务注册与发现
第三模块:
Alibaba Nacos 基本架构和概念
Alibaba Nacos 基本架构解读
1. 服务 配置服务 名字服务
Alibaba Nacos 概念解读
1 服务注册中心 :它是服务 实例及元数据的数据库;服务注册中心可能会调用服务实例的健康检查 api 来验证它是否能够处理请求
2.服务元数据 :包括服务端点(endpoints) 服务标签 服务版本号 服务实例权重 路由规则 安全策略等描述服务的数据
服务提供 消费方 提供可复用和可调用服务的应用方 会发起对某个服务调用的应用方
配置 在系统开发过程中通常会将一些需要变更的参数 变量等从代码中分离出来独立管理,以独立的配置文件的形式存在
去官网下载
https://github.com/alibaba/nacos/releases
去解压 tar -xzvf nacos-server-2.0.0.tar.gz
单机模式启动 ./startup.sh -m standalone
把Nacos 修改为mysql 数据 配置如下
进入nacos 里面进入conf
输入 vim application.properties 把里面的 #去掉
#*************** Config Module Related Configurations ***************#
### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=Zhouwei_520
访问地址为 http://127.0.0.1:8848/nacos 然后会出现 登录页面 账号和密码都是nacos
特性 | zookeeper | nacos |
---|---|---|
一致性协议 | CP | CP+AP |
健康检查 | Keep Alive | TCP / HTTP / MySql / Client beat |
负载均衡 | 无 | 权重 / selector / metadata |
多数据中心 | 不支持 | 支持 |
跨注册中心同步 | 不支持 | 支持 |
雪崩保护 | 无 | 有 |
访问协议 | TCP | HTTP / DNS |
K8s集成 | 不支持 | 支持 |
dubbo集成 | -- | 支持 |
一致性协议
在介绍一致性协议前先了解一下CAP理论
Consistency 一致性,在分布式系统中的所有数据备份,在同一时刻是否同样的值;
Availability 可用性,只要收到用户的请求,服务器就必须给出回应;
Partition tolerance 分区容错性,以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择
分布式系统必须具有分区容错性,一致性与可用性只能选择其一,如果选择一致性,必须在某节点写入时,数据同步到其他节点完成后才可以响应下一个请求,这段时间内服务是不可用的;反之选择可用性,则一致性无法保证,这就是CAP理论
作为注册中心,P要保证,C和A需要权衡;常见的一致性协议有paxos、raft,他们都是强一致性协议(CP),然而今天要介绍的nacos的distro协议时弱一致协议(AP),即最终一致性协议。注册中心到底该是AP还是CP,推荐阅读阿里中间件的博客
为啥要保持一致性?
因为Nacos 是一个需要存储数据的中间件,因此就需要在 Nacos 内部实现数据存储。单机下其实问题不大,简单的内嵌关系型数据库即可;但是集群模式下,就需要考虑如何保障各个节点之间的数据一致性以及数据同步,而要解决这个问题,就不得不引入共识算法,通过算法来保障各个节点之间的数据的一致性。
五、个人总结
Nacos 功能特性
服务发现与服务健康检查
Nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时健康检查,以防 止向不健康的主机或服务实例发送请求。
动态配置管理
动态配置服务允许您在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新 部署应用程序,这使配置的更改更加高效和灵活。
动态DNS服务
Nacos提供基于DNS 协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以 域名的方式暴露端点,让三方应用方便的查阅及发现。
服务和元数据管理
Nacos 能让您从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略。
5.今天学习课程共用了2个小时,重新学习一下 Nacos 原理和搭建 大家一起加油 🏻