Nacos2.x配置中心源码分析

概述

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

启动 nacos

nacos 启动类:

java 复制代码
// 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);
    }
}

启动参数:

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

启动时报相关类找不到,需要根据 proto 定义文件生成对应的实体类:

bash 复制代码
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 下载如下安装包:

下载完成后,解压到对应目录,并配置环境变量:

bash 复制代码
# vim .bash_profile
export PATH=/Users/zhouyan/softwares/protoc-25.1-osx-x86_64/bin:$PATH

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

进入 nacos 源码对应的 main 目录,并执行:

bash 复制代码
protoc --java_out=./java ./proto/consistency.proto
protoc --java_out=./java ./proto/Data.proto  

完成后,可以看到已生成了 entity 文件了:

相关推荐
LayZhangStrive3 天前
后端开发中间件 - Nacos下载并快速使用教程
中间件·nacos
就叫_这个吧6 天前
java springcloud熔断降级组件sentinel基础应用及nacos持久化处理
java·spring cloud·nacos·sentinel
成为你的宁宁10 天前
【APISIX:部署、路由与 Nacos 集成】
微服务·nacos·apisix·api网关
linweidong13 天前
钉钉Java面经及参考答案
nacos·协程·垃圾收集器·jvm调优·spring ioc·脏读·mysql索引
EXI-小洲15 天前
MacOS 微服务网关双雄:Nacos + Higress 安装与 Dubbo 配置实战
macos·微服务·nacos·dubbo
欢醉1 个月前
线上惊魂:Nacos 抖动导致大面积服务掉线,我们是怎么兜底的
nacos·springcloud
一只小小Java1 个月前
Naocs本地部署&安装3.2.3+Spring boot 3.2.0
java·spring boot·后端·nacos
豆瓣鸡1 个月前
Guava RateLimiter 限流实战:从令牌桶原理到 Nacos 动态配置
spring boot·微服务·nacos·guava
rebibabo1 个月前
Java进阶(1) | 微服务入门:从单体到 Spring Cloud 全家桶
spring cloud·微服务·nacos·openfeign·服务注册与发现·java进阶·单体架构
不能只会打代码2 个月前
校享云 — 高校智慧后勤平台微服务架构设计与实践
spring cloud·docker·微服务·nacos·vue·校享云