SpringCloud之nacos
以下是官网文档中个人感兴趣的部分整理,官方完整文档链接如下:
Nacos 官方文档
1.nacos是什么?
1.1 概念:快速实现动态服务发现、服务配置、服务元数据及流量管理。
简单来说就是发现、配置和管理微服务。
1.2 nacos地图:
1.3 nacos生态图
1.4 nacos架构图
1.5 逻辑架构及其组件介绍
选取大部分如下:
1.5.1 服务管理:
实现服务CRUD,域名CRUD,服务健康状态检查,服务权重管理等功能
1.5.2 配置管理:
实现配置管CRUD,版本管理,灰度管理,监听管理,推送轨迹,聚合数据等功能
1.5.3 元数据管理:
提供元数据CURD 和打标能力
1.5.4 Nacos-core模块
(1) 事件机制:
实现异步化事件通知,sdk数据变化异步通知等逻辑
(2) 日志模块:
管理日志分类,日志级别,日志可移植性(尤其避免冲突),日志格式,异常码+帮助文档
(3) 回调机制:
sdk通知数据,通过统一的模式回调用户处理。接口和数据结构需要具备可扩展性
(4)寻址模式:
解决ip,域名,nameserver、广播等多种寻址模式,需要可扩展
(5) 推送通道:
解决server与存储、server间、server与sdk间推送性能问题
(6) 容量管理:
管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性
(7) 流量管理:
按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制
(8) 缓存机制:
容灾目录,本地缓存,server缓存机制。容灾目录使用需要工具
(9)启动模式:
按照单机模式,配置模式,服务模式,dns模式,或者all模式,启动不同的程序+UI
1.5.5 存储模块:
解决数据持久化、非持久化存储,解决数据分片问题
1.5.6 Nameserver:
解决namespace到clusterid的路由问题,解决用户环境与nacos物理环境映射问题
1.5.7 接入管理:
相当于阿里云开通服务,分配身份、容量、权限过程
1.5.8 用户管理:
解决用户管理,登录,sso等问题
1.5.9 权限管理:
解决身份识别,访问控制,角色管理等问题
1.5.10 OpenAPI:
暴露标准Rest风格HTTP接口,简单易用,方便多语言集成
1.5.11 Console:
易用控制台,做服务管理、配置管理等操作
1.6 领域模型
(1)数据模型
Nacos 数据模型 Key 由三元组唯一确定,Namespace默认是空串,公共命名空间(public),分组默认是 DEFAULT_GROUP
1.7 服务领域模型
1.8 配置领域模型
围绕配置,主要有两个关联的实体,一个是配置变更历史,一个是服务标签(用于打标分类,方便索引),由 ID 关联
1.9 类视图
(1)Nacos-SDK 类视图
1.10 构建、部署及启动模式
2.nacos的Java SDK
部分文档如下:
2.1 获取配置
用于服务启动的时候从 Nacos 获取配置。
public String getConfig(String dataId, String group, long timeoutMs) throws NacosException
2.2 监听配置
使用 Nacos 动态监听配置接口来实现Nacos 推送配置变更
public void addListener(String dataId, String group, Listener listener)
2.3 删除监听
取消监听配置,取消监听后配置不会再推送。
public void removeListener(String dataId, String group, Listener listener)
2.4 发布配置
用于通过程序自动发布 Nacos 配置,以便通过自动化手段降低运维成本。
public boolean publishConfig(String dataId, String group, String content, String type) throws NacosException;
2.5 删除配置
用于通过程序自动删除 Nacos 配置,以便通过自动化手段降低运维成本。
public boolean removeConfig(String dataId, String group) throws NacosException
2.6 注册实例
注册一个实例到服务。
void registerInstance(String serviceName, String ip, int port) throws NacosException;
void registerInstance(String serviceName, String ip, int port, String clusterName) throws NacosException;
void registerInstance(String serviceName, Instance instance) throws NacosException;
2.7 注销实例
删除服务下的一个实例。
void deregisterInstance(String serviceName, String ip, int port) throws NacosException;
void deregisterInstance(String serviceName, String ip, int port, String clusterName) throws NacosException;
2.8 获取全部实例
获取服务下的所有实例。
List<Instance> getAllInstances(String serviceName) throws NacosException;
List<Instance> getAllInstances(String serviceName, List<String> clusters) throws NacosException;
3.nacos单机部署服务
本人之前写了一篇简单部署文章,链接如下:
公司微服务项目部署调试
随心所往,看见未来。Follow your heart,see night!
欢迎点赞、关注、留言,收藏及转发,一起学习、交流!
SpringCloud之nacos的更多相关文章
- SpringCloud使用Nacos服务发现实现远程调用
本文使用SpringCloud结合Nacos服务发现,Feign远程调用做一个简单的Demo. 1 Nacos 关于Nacos之前写了两篇文章关于SpringBoot对它的使用,感兴趣可以查看一下. ...
- 基于springcloud gateway + nacos实现灰度发布(reactive版)
什么是灰度发布? 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式.在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B ...
- SpringCloud Alibaba Nacos 服务注册
业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...
- SpringCloud Alibaba Nacos服务注册与配置管理
Nacos SpringCloud Alibaba Nacos是一个狗抑郁构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos:Dynamic Naming and Configurat ...
- SpringCloud之Nacos服务发现(十七)
一 Nacos简介 Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现.配置和管理. Nacos主要提供以下四大功能: 服务发现与服务健康检查 Nacos使服务更容易注册自己并 ...
- SpringCloud Alibaba Nacos 服务治理中心
目录 一.什么是Nacos? 二.Nacos能干吗? 三.Nacos关键特性 四.Nacos中的基本概念 五.如何安装部署Nacos? 六.Nacos数据持久化 一.什么是Nacos? 英文全称Dyn ...
- SpringCloud实战 | 第三篇:SpringCloud整合Nacos实现配置中心
前言 随着eureka的停止更新,如果同时实现注册中心和配置中心需要SpringCloud Eureka和SpringCloud Config两个组件;配置修改刷新时需要SpringCloud Bus ...
- SpringCloud实战 | 第二篇:SpringCloud整合Nacos实现注册中心
前言 随着eureka的停止更新,如果同时实现注册中心和配置中心需要SpringCloud Eureka和SpringCloud Config两个组件;配置修改刷新时需要SpringCloud Bus ...
- 微服务实战系列(四)-注册中心springcloud alibaba nacos
1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...
- SpringCloud Alibaba Nacos注册中心源码浅析
一.前置了解 1.1 简介 Nacos是一款阿里巴巴推出的一款微服务发现.配置管理框架.我们本次对将对它的服务注册发现功能进行简单源码分析. 1.2 流程 Nacos的分析分为两部分,一部分是我们的客 ...
随机推荐
- A* K短路
注:\(A*\) 求解K短路效率极其低下,时间复杂度\(O(nklog\ n)\),空间视题目而定,因为本质是爆搜,可求解数据范围较小的题目. 我们使用\(A*\)求解k短路: 首先需要预处理出估价函 ...
- React简单教程-4.1-hook
前言 虽然我们简单感受了一下 useState 的用法,但我想你还是对 React 里的 hook 迷迷糊糊的.本文我们将明确下 React 的概念. HOOK 前生今世 在我示例中,写的 React ...
- 史上最全Spring Cloud Alibaba--Nacos教程(涵盖负载均衡、配置管理、多环境切换、配置共享/刷新、灰度、集群)
能够实现Nacos安装 基于Nacos能实现应用负载均衡 能基于Nacos实现配置管理 配置管理 负载均衡 多环境切换 配置共享 配置刷新 灰度发布 掌握Nacos集群部署 1 Nacos安装 Nac ...
- CabloyJS一站式助力微信、企业微信、钉钉开发 - 钉钉篇
前言 现在软件开发不仅要面对前端碎片化,还要面对后端碎片化.针对前端碎片化,CabloyJS提供了pc=mobile+pad的跨端自适应方案,参见:自适应布局:pc = mobile + pad 在这 ...
- 2021.05.04【NOIP提高B组】模拟 总结
T1 题目大意, \(S_{i,j}=\sum_{k=i}^j a_k\) ,求 \(ans=\min\{ S_{i,j}\mod P|S_{i,j}\mod P\ge K \}\) 其中 \(i\l ...
- NODE.JS exports require理解
node.js exports 的作用是什么? 因为A.js文件想访问B.js文件中的类或函数,是不能直接访问的.为了解决这个问题 node.js 产生了 exports ,exports 实际可以理 ...
- 1.为什么要从古典概率入门概率学《zobol的考研概率论教程》
在入门概率论与数理统计这门课中,刚开始我们都会从古典概率开始学习,为什么要选择它呢?这是因为古典概率作为一种将生活中的事情简化为有限种情况,并假设它们的发生可能差不多的手段,十分的好用且简洁. 这里我 ...
- 实现领域驱动设计 - 使用ABP框架 - 通用准则
在进入细节之前,让我们看看一些总体的 DDD 原则 数据库提供者 / ORM 无关性 领域和应用程序层应该与 ORM / 数据库提供程序 无关.它们应该只依赖于 Repository 接口,而 Rep ...
- ShardingSphere-proxy-5.0.0企业级分库分表、读写分离、负载均衡、雪花算法、取模算法整合(八)
一.简要说明 以下配置实现了: 1.分库分表 2.每一个分库的读写分离 3.读库负载均衡算法 4.雪花算法,生成唯一id 5.字段取模 二.配置项 # # Licensed to the Apache ...
- CentOS 7 快速安装docker-compose
安装docker-composegithub的地址下载太慢了,国内可以使用http://get.daocloud.io/#install-compose网站上面的地址. 首先下载docker-comp ...