Nacos2.x配置中心源码分析

概述

源码注释参考 git 仓库,对应流程图后续补充;

启动 nacos

nacos 启动类:

// com.alibaba.nacos.Nacos@SpringBootApplication(scanBasePackages = "com.alibaba.nacos")
@ServletComponentScan
@EnableScheduling
public class Nacos {public static void main(String[] args) {SpringApplication.run(Nacos.class, args);}
}

启动参数:

-Dnacos.standalone=true
-Dnacos.home=/xxx # 可不配,指定nacos的home目录

在这里插入图片描述
启动时报相关类找不到,需要根据 proto 定义文件生成对应的实体类:

package com.alibaba.nacos.consistency;import com.alibaba.nacos.consistency.entity.ReadRequest;
import com.alibaba.nacos.consistency.entity.Response;
import com.alibaba.nacos.consistency.entity.WriteRequest;

安装 proto

下载地址:https://github.com/protocolbuffers/protobuf/releases

mac 下载如下安装包:

在这里插入图片描述
下载完成后,解压到对应目录,并配置环境变量:

# vim .bash_profile
export PATH=/Users/zhouyan/softwares/protoc-25.1-osx-x86_64/bin:$PATH

执行 protoc 命令后出现如下提示信息,则表示 protoc 安装成功:

在这里插入图片描述
进入 nacos 源码对应的 main 目录,并执行:

protoc --java_out=./java ./proto/consistency.proto
protoc --java_out=./java ./proto/Data.proto  

完成后,可以看到已生成了 entity 文件了:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229023.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Visual Studio Code中安装加速TypeScript程序开发的插件

在Visual Studio Code中安装加速TypeScript程序开发的插件 Install Extensions on Visual Studio Code for TypeScript Application Development By Jackson 2023-11-28 众所周知,微软的Visual Studio Code是一款轻量级、功能强大的集成开发环境。它支持各种编程语…

SystemVerilog 入门

文章目录 包定义SystemVerilog 数据类型结构体 SystemVerilog 过程块可嵌套模块接口 System Verilog 的优点 提高了硬件建模能力、编码效率和抽象能力;RTL 级、系统级行为描述; 增强了验证能力和为大规模复杂设计编写有效、无竞争测试程序的断言功能&am…

webpack如何设置兼容浏览器的范围​browserslist

Browserslist 是前端工程化不可或缺的工具,无论是处理 js 的 babel 还是处理 css 的 postcss,他们背后都有Browserslist 的身影。 一、如何查看查看所有浏览器和它的市场占有率 我们如何知道现在的浏览器那些被废弃、那些市场占有率高,可以…

mysql 性能排查

mysql 下常见遇到的问题有,mysql连接池耗尽,死锁、慢查、未提交的事务。等等我们可能需要看;我们想要查看的可能有 1.当前连接池连接了哪些客户端,进行了哪些操作 2.当前造成死锁的语句有哪些,是哪个客户端上的&#x…

dcat admin日志扩展 dcat-log-viewer 遇到的问题记录

扩展地址: https://github.com/duolabmeng6/dcat-log-viewer 问题描述: 使用很简单,直接安装扩展包,开启扩展就可以了,会自动生成菜单。 之前在别的系统用过,没问题,今天在一个新的系统用的时…

肖sir__mysql之单表练习题2__(2)

mysql之单表练习题 一.建表语句 create table grade(class int(4),chinese int(8),english int(4),math int(8),name varchar(20),age int(8),sid int(4)primary key auto_increment) DEFAULT charsetutf8; insert into grade(class,chinese,english,math,name,age)values(1833…

导致Facebook广告投放不成功的原因

Facebook是全球最大的社交媒体平台之一,也是众多跨境卖家选择广告投放的首选平台,但也还是会有很多跨境卖家在Facebook上推广效果不佳。那么本文小编讲一下导致Facebook广告投放不成功的原因以及相应解决方法。 1、受众群体太少 Facebook有个要求就是广告…

Programming Abstractions in C阅读笔记:p202-p234

《Programming Abstractions in C》学习第65天,p202-p234总结。 一、技术总结 完成第五章学习,第五章介绍递归在实际问题中的进一步应用,例如汉诺塔问题,数学中的排列问题,更有难度。使用递归解决问题时有时候需要借…

业务建模工具BPMN

目录 一、什么是BPMN 二、业务流程梳理的重要作用 三、BPMN的全图 四、BPMN的组成 1.BPMN的基本元素(2.0) 1.1 流对象(Flow Objects) 1.2 数据(Data) 1.3 连接对象(Connecting Objects&a…

Leetcode—1670.设计前中后队列【中等】

2023每日刷题(四十三) Leetcode—1670.设计前中后队列 实现代码 erase(iterator position)在删除vector中的元素后,会将该元素的后面所有元素都往前挪一位。因此,原先的迭代器指向的元素就不是原来那个了,而是它的后…

0 NLP: 数据获取与EDA

0数据准备与分析 二分类任务,正负样本共计6W; 数据集下载 https://github.com/SophonPlus/ChineseNlpCorpus/raw/master/datasets/online_shopping_10_cats/online_shopping_10_cats.zip 样本的分布 正负样本中评论字段的长度 ,超过500的都…

命令模式 rust和java实现

文章目录 命令模式介绍javarustrust仓库 命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象&…