Nacos
文章平均质量分 90
nacos安装,使用
weixin_42073629
这个作者很懒,什么都没留下…
展开
-
Nacos 2.0 正式发布,性能大幅提升
Nacos 项目起源于阿里巴巴内部的五彩石项目,从 2008 年开始,就已经在内部孵化了。近年来受 Eureka、Consul 等项目的影响,Nacos 越来越受欢迎!目前 Nacos 支持主流微服务开发语言&主流服务框架和配置管理框架,比如支持 Duboo、SpringCloud、SCA,还对接了一些云原生的组件比如 coreDNS 和 sentinel 等。客户端语言方面目前支持 Java,go python 等主流语言,最近刚发布正式版本的还支持 C# 和 C++。最近 Nacos原创 2021-03-27 12:07:37 · 341 阅读 · 0 评论 -
Sentinel Dashboard中修改规则同步到Nacos
代码实现下面直接来看看如何实现的具体改造步骤,这里参考了Sentinel Dashboard源码中关于Nacos实现的测试用例。但是由于考虑到与Spring Cloud Alibaba的结合使用,略作修改。第一步:修改pom.xml中的sentinel-datasource-nacos的依赖,将<scope>test</scope>注释掉,这样才能在主程序中使用。<dependency> <groupId>com.alibaba.csp&原创 2020-07-03 23:32:58 · 568 阅读 · 1 评论 -
Nacos部署中的一些常见问题汇总
问题一:Ubuntu下启动Nacos报错问题描述使用命令sh startup.sh -m standalone启动报错:./startup.sh: 78: ./startup.sh: [[: not found./startup.sh: 88: ./startup.sh: [[: not found./startup.sh: 90: ./startup.sh: [[: not found./startup.sh: 96: ./startup.sh: [[: not found/usr/原创 2020-07-03 23:10:35 · 1799 阅读 · 0 评论 -
Nacos的集群部署2
集群搭建根据官方文档的介绍,Nacos的集群架构大致如下图所示(省略了集中化存储信息的MySQL):下面我们就来一步步的介绍,我们每一步的搭建细节。MySQL数据源配置对于数据源的修改,在上一篇《Nacos的数据持久》中已经说明缘由,如果还不了解的话,可以先读一下这篇再回来看这里。在进行集群配置之前,先完成对MySQL数据源的初始化和配置。主要分以下两步:第一步:初始化MySQL数据库,数据库初始化文件:nacos-mysql.sql,该文件可以在Nacos程序包下的conf目录原创 2020-07-03 22:45:29 · 1070 阅读 · 0 评论 -
Nacos的数据持久化
通过之前几篇关于Nacos的博文,对于Nacos分别作为服务注册中心以及配置中心时,与Spring Cloud体系结合的基础使用方法已经介绍完毕了。下面我们再用几篇博文从生产部署的角度,介绍Nacos的相关内容。本文我们将具体说说Nacos的数据存储以及生产配置的推荐。数据持久化在之前的教程中,我们对于Nacos服务端自身并没有做过什么特殊的配置,一切均以默认的单机模式运行,完成了上述所有功能的学习。但是,Nacos的单机运行模式仅适用于学习与测试环境,对于有高可用要求的生产环境显然是不合适的。那么原创 2020-07-03 22:38:11 · 1437 阅读 · 0 评论 -
Nacos配置的多文件加载与共享配置
对于Nacos作为配置中心的使用,通过之前的几篇博文,我们已经介绍了如何在Nacos中创建配置内容、Nacos配置内容与Spring应用配置之间的对应关系以及实战中多环境下的配置管理方案。但是,我们实际应用过程中还会经常碰到这样的问题:有时候我们会对应用的配置根据具体作用做一些拆分,存储在不同的配置文件中,除了归类不同的配置之外,也可以便于共享配置给不同的应用。对于这样的需求,Nacos也可以很好的支持,下面就来具体介绍一下,当使用Nacos时,我们如何加载多个配置,以及如何共享配置。加载多个配置原创 2020-07-03 22:32:17 · 2032 阅读 · 2 评论 -
Nacos配置的多环节管理
加载规则前面,我们的例子完全采用了默认配置完成。所以,一起来看看Spring Cloud Alibaba Nacos模块默认情况下是如何加载配置信息的。首先,回顾一下,我们在入门例子中,Nacos中创建的配置内容是这样的:Data ID:alibaba-nacos-config-client.properties Group:DEFAULT_GROUP拆解一下,主要有三个元素,它们与具体应用的配置内容对应关系如下:Data ID中的alibaba-nacos-config-client:原创 2020-07-03 22:08:25 · 467 阅读 · 0 评论 -
Nacos配置的加载规则详解
前面,我们学习了如何在Nacos中创建配置,以及如何使用Nacos客户端模块来加载配置。在入门例子中,我们只配置了Nacos的地址信息,没有配置任何其他与配置加载相关的其他内容。所以,接下来准备分几篇说说大家问的比较多的一些实际使用的问题或疑问。加载规则在《使用Nacos作为配置中心》一文中,我们的例子完全采用了默认配置完成。所以,一起来看看Spring Cloud Alibaba Nacos模块默认情况下是如何加载配置信息的。首先,回顾一下,我们在入门例子中,Nacos中创建的配置内容是这样的原创 2020-07-02 07:36:20 · 1611 阅读 · 0 评论 -
Nacos支持的几种服务消费方式(RestTemplate、WebClient、Feign)
通过《使用Nacos实现服务注册与发现》一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBalancerClient接口来获取某个服务的具体实例,并根据实例信息来发起服务接口消费请求。但是这样的做法需要我们手工的去编写服务选取、链接拼接等繁琐的工作,对于开发人员来说非常的不友好。所以接下来,我们再来看看除此之外,还支持哪些其他的服务消费方式。使用RestTemplate在之前的例子中,已经使用过RestTemplate来向服务的某个具体实例发起HTTP请求转载 2020-07-22 23:35:05 · 2618 阅读 · 2 评论 -
Nacos实现服务注册与发现
什么是NacosNacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos帮助您更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。在接下里的教程中,将使用Nacos作为微服务架构中的注册中心(替代:eurekba、consul等传统方案)以及配置中心(spring cloud config)来使用。安装Nacos原创 2020-07-02 07:29:36 · 973 阅读 · 1 评论 -
Nacos配置中心原理
动态配置管理是 Nacos 的三大功能之一,通过动态配置服务,我们可以在所有环境中以集中和动态的方式管理所有应用程序或服务的配置信息。动态配置中心可以实现配置更新时无需重新部署应用程序和服务即可使相应的配置信息生效,这极大了增加了系统的运维能力。动态配置下面我将来和大家一起来了解下 Nacos 的动态配置的能力,看看 Nacos 是如何以简单、优雅、高效的方式管理配置,实现配置的动态变更的。我们用一个简单的例子来了解下 Nacos 的动态配置的功能。环境准备首先我们要准备一个 Nac原创 2020-07-02 06:56:04 · 1027 阅读 · 2 评论 -
Nacos 限流最佳实践
Nacos 限流最佳实践Nacos自开源以来,版本迭代速度很快,已经发布了0.9版本,准备发1.0的正式版本,支持企业使用Nacos生产高可用。在生产环境,Nacos首先需要保证自身服务的稳定性,在正常的运行环境下不会出现服务挂掉的情况。当然在一些依赖的系统出问题的时候(比如磁盘和DB),Nacos服务会受到影响,需要监控系统发现这些问题并能及时的介入处理。作为高性能的服务发现和配置管理服务,Nacos也是存在自己的性能基线的,当瞬时的高峰流量超过自身的性能基线的时候,需要对高峰流量进行限流,以保证原创 2020-07-01 07:07:39 · 3514 阅读 · 0 评论 -
Spring Cloud Alibaba 注册中心 Nacos 入门
1. 概述本文我们来学习Spring Cloud Alibaba提供的Spring Cloud Alibaba Nacos Discovery组件,基于 Spring Cloud 的编程模型,接入 Nacos 作为注册中心,实现服务的注册与发现。服务注册/发现: Nacos Discovery服务发现是微服务架构体系中最关键的组件之一。如果尝试着用手动的方式来给每一个客户端来配置所有服务提供者的服务列表是一件非常困难的事,而且也不利于服务的动态扩缩容。Nacos Discovery...原创 2020-06-03 02:20:41 · 276 阅读 · 0 评论 -
Spring Cloud Alibaba 配置中心 Nacos 入门
1. 概述本文我们来学习Spring Cloud Alibaba提供的Spring Cloud Alibaba Nacos Config组件,基于 Spring Cloud 的编程模型,接入 Nacos 作为配置中心,实现服务的统一配置管理。FROM《Spring Cloud Alibaba 官方文档 —— Nacos Config》Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud...原创 2020-06-03 02:00:29 · 1087 阅读 · 0 评论 -
Nacos 极简入门
1. 概述Nacos 是什么?其官方文档自我介绍如下:FROMhttps://nacos.io/zh-cn/docs/what-is-nacos.htmlNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。看起来介绍看起来有点高大.原创 2020-06-03 01:30:12 · 937 阅读 · 0 评论 -
Spring Boot 注册中心 Nacos 入门
1. 概述在《Nacos 极简入门》中,我们已经学习了如何搭建一个 Nacos 服务。如果还没有的胖友,赶紧先去简单学习下,重点是跟着该文「2. 单机部署」小节,自己搭建一个 Nacos 服务。本文,我们来学习下如何在 Spring Boot 中,将 Nacos 作为一个注册中心,实现分布式环境下的服务注册与发现。友情提示:对 Nacos 作为配置中心感兴趣的胖友,可以看看《芋道 Spring Boot 配置中心 Nacos 入门》文章。2. 注册中心原理在使用注册中心时,一共有三种原创 2020-05-23 23:01:41 · 1298 阅读 · 1 评论 -
Spring Boot 配置中心 Nacos 入门
1. 概述在《Nacos 极简入门》中,我们已经学习了如何搭建一个 Nacos 服务。如果还没有的胖友,赶紧先去简单学习下,重点是跟着该文「2. 单机部署」小节,自己搭建一个 Nacos 服务。本文,我们来学习下如何在 Spring Boot 中,将 Nacos 作为一个配置中心,实现分布式环境下的配置管理。友情提示:对 Nacos 作为注册中心感兴趣的胖友,可以看看《芋道 Spring Boot 注册中心 Nacos 入门》文章。2. 快速入门示例代码对应仓库:lab-44-na原创 2020-05-23 19:51:23 · 6150 阅读 · 1 评论 -
Nacos——如何下线被 kill -9 的实例
上文说到了服务实例的正常上下线,都是实例主动调接口完成的。但是如果实例被kill -9呢,就不会主动通知下线了。如何处理这种情况,这个才是服务发现的重点了。解决的办法就是 心跳+定时任务去判断,不过这里定时任务的分配也是有讲究了。1 心跳nacos源码分析——如何做心跳续约 中说到了,服务实例的心跳调用/clientBeat接口,会更新lastBeat为当前时间。但是这个lastBeat时间要如何用起来呢?2 定时任务VirtualClusterDomain 会起个定时任务原创 2020-05-24 13:36:28 · 2649 阅读 · 0 评论 -
Nacos—— 如何实现注册发现
注册一个服务如果这个服务之前没有,第一次注册,构建这个服务信息如果服务有了,就增加这个服务的实例ip这个步骤就是和增加实例ip的接口是一样的逻辑了增加实例ip的接口这个真的是有点绕啊,终于来到真正处理的onAddIP4Dom了这里的重点就newIPs了,就是更新后的ip列表ipAddressMap.values() 其实就是旧的ip加上newIPspublic static final String IPADDRESS_DATA_ID_原创 2020-05-24 13:33:21 · 805 阅读 · 1 评论 -
Nacos——Raft 如何保证内容一致
其实是通过心跳来保证的leader发送心跳的时候会带上所有的key和key对应的时间戳,follower发现key不存在或者时间戳比较小,就发送请求给leader拿这些key的数据,最终达到数据一致。发送心跳带上所有的key这些数据会有点大,所以做了gzip压缩follower收到心跳的时候,判断key的存在和时间戳,和leader对不上的,发起请求拿最新的不一致的key可能比较多,所以批量去拿,每次拿50个key。数据差距可能比较大,一直循环拿的话对leader的压力会原创 2020-05-24 13:30:52 · 583 阅读 · 0 评论 -
Nacos—— Raft 如何发布内容
在上一篇介绍如何选举后,发布内容就相对简单很多了。发布内容的入口signalPublish 的很简单如果自己不是leader就转发给leader如果自己是leader,就向所有节点发送onPublish请求,注意这里是所有的节点,包括自己。所以其实还是看onPublish的逻辑了onPublish可以当做是一次心跳了,更新选举检查时间,然后一个重点就是term增加100了。当然还是就是更新内容了,先写文件,再更新内存缓存。可以看到写文件的时候,一个key就原创 2020-05-24 13:26:42 · 291 阅读 · 0 评论 -
Nacos——Raft 如何选举
发起请求:public static final String API_VOTE = UtilsAndCommons.NACOS_NAMING_CONTEXT + “/raft/vote”;其他节点收到选举请求收到请求的处理过程是:如果对方的term比自己小,voteFor为自己,然后返回结果。意思是我自己更适合做leader,这一票我投给自己。如果对方的term比自己大,设置voteFor为对方,然后返回结果,意思是就按你说的做,这一票就投给你了。发起投票的节点收集到回原创 2020-05-24 13:22:51 · 724 阅读 · 0 评论 -
Nacos—— Raft 如何心跳保持
raft的一个基本逻辑是leader隔一段时间给所有的follower发心跳。如果follower长时间没收到心跳,就认为leader已经挂了,就发起投票选举新的leader。在RaftCore的init方法里面HeartBeat 就是leader的心跳定时任务MasterElection 就是follower长时间没收到心跳就选举的定时任务HeartBeat的sendBeat就是具体发送心跳信息了follower收到心跳请求的时候receivedBeat 方法会执行 r原创 2020-05-24 13:16:56 · 950 阅读 · 0 评论 -
Nacos —— 如何做健康检查
服务发现如何做心跳检查方式一 tcp创建连接,500ms后看连接是否创建成功public static final int CONNECT_TIMEOUT_MS = 500;方式二 http发一个http请求,看返回码是不是200方式三 mysql看sql请求是不是抛异常...原创 2020-05-24 13:11:18 · 5268 阅读 · 0 评论 -
Nacos——如何做心跳续约
先看如何处理http心跳请求然后就会更新这个ip的最后心跳时间这个最后的心跳时间有什么用呢,有个定时任务每5s会检查是不是太久没心跳,如果没心跳就下线掉这个实例。再看具体怎么发起心跳先是构一个nacos NamingService naming = NamingFactory.createNamingService(properties); 就会创建一个BeatReactor会创建BeatProcessor接着是BeatTas原创 2020-05-24 13:06:32 · 1548 阅读 · 0 评论 -
Nacos五 : Nacos集群(Linux下standalone模式和cluster模式)
Nacos支持三种部署模式单机模式 - 用于测试和单机试用。 集群模式 - 用于生产环境,确保高可用。 多集群模式 - 用于多数据中心场景。注:本文已Linux CentOS7系统为讲述如何部署单机模式(standalone)和集群模式(cluster);(虚拟机使用VMware)请确保是在环境中安装使用:64 bit OS Linux/Unix/Mac,推荐使用Linux系统...原创 2020-03-03 04:29:49 · 499 阅读 · 0 评论 -
Nacos四:配置中心config
nacos作为替代eureka+config的好东西,当然少不了config的使用了1、搭建项目,附上pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSc...原创 2020-03-03 04:12:05 · 628 阅读 · 0 评论 -
Nacos三:服务注册与两种消费方式
服务注册实例架构图:provider应用将自己的信息注册到nacos中 consumer应用从nacos中获取到provider应用的信息 consumer直接调用provider对外提供的接口项目结构: 项目中主要包含三个文件:pom.xml NacosProviderApplication.java application.p...原创 2020-03-03 04:00:18 · 703 阅读 · 0 评论 -
Nacos二:环境搭建
预备环境准备Nacos 依赖Java环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置Maven环境,请确保是在以下版本环境中安装使用:64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。 64 bit JDK 1.8+;下载&配置。 Maven 3.2.x+;下载&配置。 ...原创 2020-03-03 03:25:40 · 287 阅读 · 0 评论 -
Nacos一 :基本介绍
1、什么是NacosNacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用...原创 2020-03-03 03:09:50 · 567 阅读 · 0 评论 -
分布式系统为什么要做配置中心
此为草稿原创 2020-03-03 02:26:34 · 137 阅读 · 0 评论