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

相关推荐
一叶飘零_sweeeet2 天前
分布式协调双雄深度拆解:ZooKeeper 与 Nacos 从底层原理到生产实战全指南
分布式·zookeeper·nacos
一叶飘零_sweeeet2 天前
服务注册发现深度拆解:Nacos vs Eureka 核心原理、架构选型与生产落地
微服务·云原生·eureka·nacos·架构·注册中心
无级程序员12 天前
k8s部署nacos 3.1.1服务,java.net.UnknownHostException问题终极解决方案
java·nacos·kubernetes
waper9713 天前
java项目部署上线,安全扫描问题的解决方案
java·安全·nacos·docker compose
小七mod13 天前
【Nacos】Nacos1.4.x服务注册源码分析
java·spring cloud·微服务·nacos·源码·集群·注册中心
Thomas.Sir14 天前
Nacos:云原生时代的服务与配置基石
云原生·nacos·ap·cp
知识即是力量ol1 个月前
微服务架构:从入门到进阶完全指南
java·spring cloud·微服务·nacos·架构·gateway·feign
码农阿豪1 个月前
Nacos 日志与 Raft 数据清理指南:如何安全释放磁盘空间
java·安全·nacos
学习是生活的调味剂1 个月前
nacos原理之服务注册浅析
java·开发语言·nacos·注册中心
金刚猿1 个月前
03_虚拟机中间件部署_Nacos 部署单机模式、配置鉴权
linux·中间件·nacos·配置鉴权