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 文件了:

相关推荐
my_styles18 天前
nacos 报错 errCode: 500, errMsg: do metadata operation failed
nacos
染翰18 天前
Nacos 切换 Namespace 后配置不生效、占位符报错终极复盘
java·后端·spring·nacos
小毕超21 天前
基于A2A + AgentScope + Nacos 构建分布式高可用异构 Agent 方案
nacos·a2a·agentscope
huipeng92624 天前
企业级微服务开发实战(二):微服务基础设施搭建与中间件部署
java·redis·mysql·spring cloud·微服务·nacos·rabbitmq
苏渡苇1 个月前
Spring Cloud Alibaba:将 Sentinel 熔断限流规则持久化到 Nacos 配置中心
数据库·spring boot·mysql·spring cloud·nacos·sentinel·持久化
callJJ1 个月前
Nacos 详解——从概念到实战
java·spring boot·spring·spring cloud·微服务·nacos
DN金猿1 个月前
spring.cloud.nacos.discovery.server-addr和spring.cloud.nacos.server-addr区别
java·开发语言·nacos·springcloud·sca
DN金猿1 个月前
SpringCloudAlibaba微服务启动报错
微服务·云原生·nacos·架构·springcloud·sca
jasnet_u1 个月前
SpringBoot服务优雅停机
nacos·springboot·优雅停机
多加点辣也没关系1 个月前
Nacos 的安装(详细教程)
nacos