草庐IT

Nacos 原理

Nacos原理一、Nacos的整体架构Nacos的整体架构还是比较清晰的,我们可以从下面这个官方提供的架构图进行简单分析。二、Nacos原理之前讲过注册中和配置中心的核心原理,信息的同步主要的几种方式:push(服务端主动push)pull(客户端的轮询),超时时间比较短longpull(超时时间比较长)2.1、配置中心原理nacos配置中心就是采用:客户端longpull的方式Nacos客户端会循环请求服务端变更的数据,并且超时时间设置为30s,当配置发生变化时,请求的响应会立即返回,否则会一直等到29.5s+之后再返回响应客户端的请求到达服务端后,服务端将该请求加入到一个叫allSubs的

Nacos做配置中心,配置要写在bootstrap.properties

在使用Nacos做配置中心的时候发现,nacos相关的配置如果不写在bootstrap.properties里面是没有效果的。如是我在NacosConfigProperties的fileExtension属性上打了给断点,我发现当配置写在bootstrap.properties时set方法的断点会先进去,然后再进get方法的,但是当配置写在application.yml文件上时就是相反的。然后我就去看SpringBoot启动的方法第一个断点准备环境的方法里面会调用listeners.environmentPrepared((ConfigurableEnvironment)environment

windows环境下nacos单机启动两种方式

第一种启动方式:进入nacos的解压目录\bin下以notepad++方式打开startup.cmd然后修改大概在26行的setMODE="cluster"为setMODE="standalone"(下面配有大致图片)然后直接点击startup.cmd命令,就启动成功了(注意查看日志"nacosidstartingwithstandalone")第二种启动方式:在黑窗体环境下切换目录到nacos/bin下,然后输入命令startup.cmd-m standalone

关于spring-cloud-starter-alibaba-nacos-discovery找不到,没有版本(pom爆红,找不到)

#一,我这边发现每次项目都有经常发生这样的问题问题:这种问题说实话很弱智,但还是有类似于这种事情发生啊原因:1.在POM依赖没有版本的时候,可能原因是父工程或者父依赖中没有指定版本,所以在子工程中找不到版本(本次错误)2.还有就是父工程有版本,或者子工程也有版本的时候,此时就是本地仓库没有,去远程或者代理仓库找不到这个需要的依赖包,因为可能是是自己写的依赖包,公网没有。解决:1.去父工程找到此依赖的上级依赖指定版本的依赖,此处错误是——nacos的依赖没有版本,父也没有所以更改如下 com.alibaba.cloudspring-cloud-alibaba-dependencies${spri

Docker部署Nacos服务后,项目启动时连接报错Server check fail, please check server x.x.x.x ,port 29999 is available

问题描述:使用Docker单节点常规部署Nacos服务后,我们可以正常登录到Nacos的管理界面中,但是在SpringCloud项目启动进行连接时报错com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException:UNAVAILABLE,如下图所示16:21:46.321[main]INFOc.a.n.c.r.client-[printIfInfoEnabled,60]-[7a7aa944-7afb-49b0-b2c1-23eb68f79cec_config-0]Trytoconnecttoserveronstartup,server:{serv

企业级微服务架构实战项目--xx优选3-mq+nacos+es实现上下架

一 nacos+mq+es实现上下架1.1架构图 1.2工程结构  1.3 核心代码流程1.3.1请求product模块2.修改数据库,推送rabbitmq中1.3.2 rabbitmq的工具类 1.3.3search模块中rabbit客户端订阅信息 1.监听器监听信息 2.调用相应的上下架方法2.1调用product模块,返回完整信息2.2将信息入到es库中 1.3.4 请求使用openfegin工具类1.其中注解@Feginclient(value=xxxx),xxx为调用模块配置文件中spring.application.name的值,也是nacos中服务的名称。 

nacos踩坑之nacos运行报错

在2021年年底的时候使用docker的方式体验了一波nacos,现在有需求所以需要运行nacos,结果一旦运行始终报错,/usr/lib/jvm/java-11-openjdk-arm64/bin/java-Xms512m-Xmx512m-Xmn256m-Dnacos.standalone=true-Dnacos.member.list=-Xlog:gc*:file=/home/rock/Desktop/nacos/distribution/logs/nacos_gc.log:time,tags:filecount=10,filesize=100m-Dloader.path=/home/ro

解决 Spring Cloud 2021.0.5 版本,使用 nacos 做配置中心,报 No spring.config.import property has been defined 的问题

报错信息如下Description:Nospring.config.importpropertyhasbeendefinedSpring官方给出的解决方案如下Addaspring.config.import=nacos:propertytoyourconfiguration.Ifconfigurationisnotrequiredaddspring.config.import=optional:nacos:instead.Todisablethischeck,setspring.cloud.nacos.config.import-check.enabled=false.这里只尝试了第一种解决方

项目连接Nacos2.2.0集群报错 Client not connected, current status:STARTING 解决方案

我是以OpenResty反向代理的nacos2.2.0集群nacos2.2.0集群部署详情见关于这个问题的解决(主要GRPC协议未代理):Causedby:com.alibaba.nacos.api.exception.NacosException:Clientnotconnected,currentstatus:STARTING配置nginx.conf文件(后面grpc协议一定要配置)vi/usr/local/openresty/nginx/conf/nginx.conf添加内容:upstreamnacoscluster{server192.168.20.128:8140;server192

nacos报错:failed to req API:/nacos/v1/ns/instance after all servers([192.168.43.148:8848])解决方案

前一段时间,由于宕机导致nacos服务停止,然后一直重启失败报错:failedtoreqAPI:/nacos/v1/ns/instanceafterallservers([192.168.43.148:8848])tried:ErrCode:503,ErrMsg:serverisDOWNnow,pleasetryagainlater! 贴上这个报错信息: 找了很久原因,是以为nacos服务过载。最终使用下面的方式解决了这个报错:删掉nacos文件夹下的data文件夹再重启Nacos就可以了。注意:如果是docker运行的nacos,直接找到nacos的docker容器,进入到容器里面,然后删除