没有合适的资源?快使用搜索试试~ 我知道了~
SpringCloudAlibaba注册中心与配置中心之利器Nacos实战与源码分析(上).doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2022-07-09
21:33:55
上传
评论
收藏 1.7MB DOC 举报
温馨提示
试读
22页
SpringCloudAlibaba注册中心与配置中心之利器Nacos实战与源码分析(上).doc
资源推荐
资源详情
资源评论
SpringCloudAlibaba 注册中心与配置中心之利器 Nacos 实战与源码分析(上)
不断踩坑并解决问题是每个程序员进阶到资深的必要经历并以此获得满足感,而
不断阅读开源项目源码和总结思想是每个架构师成长最佳途径。本篇拉开 SpringCloud
Alibaba 最新版本实战和原理序幕,以工程实践的简单完整实战示例为主线,步步深入并可
为实际项目中带来启发
概述
背景
Nacos 源码地址 https://.com/alibaba/nacos ,目前源码基于高性能 RPC 的 2.1.0,和基于
HTTP RESTFUL 的 1.4.3 版本的两条分支,因此 2.X 系列 Nacos 性能比 1.X 版本至少提升 2
倍以上,我们这边下载研究的是 2.1.0 版本的源码。
Nacos 官网地址 https://nacos.io/zh-cn/docs
Spring-Cloud-Alibaba 源码地址
前面的《主流微服务一站式解决方案 Spring Cloud Alibaba 入门看这篇就足够了-开篇》我
们已经简单介绍 Spring Cloud Alibaba 一站式解决方案的入门,对 Spring Cloud Alibaba 有了
基本认识,开发人员可以通过 Spring Cloud 编程模型轻松使用其生态组件来来开发分布式
应用服务,而这过程只需添加一些注解和少量配置就可以将 Spring Cloud 应用接入阿里的
分布式应用解决方案,最终通过阿里中间件来迅速搭建分布式应用系统。此外阿里云同时还
提供了 Spring Cloud Alibaba 企业版 微服务解决方案(包括无侵入服务治理全链路灰度,
无损上下线,离群实例摘除等,企业级 Nacos 注册配置中心和企业级云原生网关等众多产
品),分布式功能更加强大完善,有兴趣的伙伴可以自行前往了解。
Nacos 官网提供 Nacos2.0.0-ALPHA2 服务发现性能测试报告,其他的如 1.0 和 2.0 配置模
块压测报告,1.0 服务发现模块的压测报告等都可以去详细查阅官网
定义
Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基
础设施,致力于发现、配置和管理微服务,可以快速实现动态服务发现、服务配置、服务元
数据及流量管理。简单来说就是集注册中心和配置中心于一体,几乎支持所有市面同类型产
品的所有功能,Nacos 支持主流的服务生态包括 Kubernetes Service、gRPC|Dubbo RPC Service
或者 Spring Cloud RESTful,可以说是目前国内最主流、最强大、性能最好的注册中心和配
置中心的选型,下面为 Nacos 与其他同类型产品的对比
关键特性
服务发现和服务运行状况检查
Nacos 支持基于 DNS 和基于 RPC 的服务发现 。服务提供者可使用 原生 SDK、
OpenAPI、或一个独立的 Agent TODO 注册 Service 后,服务消费者可以使用 DNS TODO
或 HTTP&API 查找和发现服务。
Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。Nacos
支持传输层 (PING 或 TCP)和应用层 (如 HTTP、MySQL、用户自定义)的健康检查。 对
于复杂的云环境和网络拓扑环境中(如 VPC、边缘网络等)服务的健康检查,Nacos 提供
了 agent 上报模式和服务端主动检测 2 种健康检查模式。Nacos 还提供了统一的健康检查
仪表盘,帮助您根据健康状态管理服务的可用性及流量。
动态配置管理
动态配置服务允许在所有环境中以集中式和动态的方式管理所有服务的配置。当更新配置
时应用从配置中心读取配置并使得配置更改操作更加敏捷与高效。
配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。
Nacos 提供了一个简洁易用的 UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配
置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态
跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和
降低配置变更带来的风险。
动态 DNS 服务
Nacos 支持权重路由,让您更容易地实现中间层负载均衡、更灵活的路由策略、流量控制
以及数据中心内网的简单 DNS 解析服务。动态 DNS 服务还能让您更容易地实现以 DNS 协
议为基础的服务发现,以帮助您消除耦合到厂商私有服务发现 API 上的风险。
Nacos 提供了一些简单的 DNS APIs TODO 帮助您管理服务的关联域名和可用的 IP:PORT
列表。
服务和元数据管理
Nacos 提供从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的
描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策
略、服务的 SLA 以及最首要的 metrics 统计数据。
其他特性可以查阅官网及其的路线图规划说明。
核心概念
命名空间:用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group
或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发
测试环境和生产环境的资源(如配置、服务)隔离等。
配置管理:系统中所有配置的编辑、存储、分发、变更管理、历史版本管理、变更审计等
所有与配置相关的活动统称为配置管理。
配置项:一个具体的可配置的参数与其值域,通常以 param-key=param-value 的形式存在。
例如我们常配置系统的日志输出级别(logLevel=INFO|WARN|ERROR) 就是一个配置项。
配置集:一组相关或者不相关的配置项的集合称为配置集。在系统中,一个配置文件通常
就是一个配置集,包含了系统各个方面的配置。例如,一个配置集可能包含了数据源、线程
池、日志级别等配置项。配置集 ID 是组织划分配置的维度之一,Data ID 通常用于组织划
分系统的配置集。
配置分组:Nacos 中的一组配置集,是组织配置的维度之一。通过一个有意义的字符串
(如 Buy 或 Trade )对配置集进行分组,从而区分 Data ID 相同的配置集。
配置快照:Nacos 的客户端 SDK 会在本地生成配置的快照。当客户端无法连接到 Nacos
Server 时,可以使用配置快照继续运行有一定的整体容灾保障能力。配置快照类似于缓存,
会在适当的时机更新但没有缓存过期(expiration)的概念。
服务:通过预定义接口网络访问的提供给客户端的软件功能,其目的是不同的客户端可以
为不同的目的重用(例如通过跨进程的网络调用)。服务名则为服务提供的标识,通过该标
识可以唯一确定其指代的服务。
服务注册中心:存储服务实例和服务负载均衡策略的数据库。
服务发现:在计算机网络上,(通常使用服务名)对服务下的实例的地址和元数据进行探
测,并以预先定义的接口提供给客户端进行查询。
元信息:Nacos 数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均
剩余21页未读,继续阅读
资源评论
书博教育
- 粉丝: 1
- 资源: 2836
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功