Nacos注册中心

常用注册中心

Nacos、Eureka、Zookeeper、Consul、Etcd.....

NacosEurekaZookeeper
数据存储存储在内存ConcurrentHashMap存储在内存ConcurrentHashMap存储在内存NodeDataBase
通信协议gRPChttpjute
数据变更推送方式push + pullpull (30s一次)push
集群模式CAP模型AP (默认) / CPAPCP

Nacos结构图

Nacos2

gRPC(http2 + protobuf)

鉴权、加密

Nacos简单应用

@RestController
public class NacosController {
    @NacosInjected
    private NamingService namingService;

    // 注册服务
    @GetMapping("/registry")
    public void registry() {
        Instance instance = new Instance();
        instance.setClusterName("test");
        instance.setEnabled(true);
        instance.setEphemeral(true); //临时是AP,持久是CP
        instance.setIp("192.168.1.101");
        instance.set(8080);
        namingService.registerInstance("test-service", instance);
    }

    // 查找服务
    @GetMapping("/discovery")
    public List<Instance> get(@RequestParam String serviceName) {
        return namingService.getAllInstances(serviceName);
    }

    // 订阅服务:服务变更能够感知到,通过这可以实现push推送数据变化
    @GetMapping("/sub")
    public List<Instance> get(@RequestParam String serviceName) {
        namingService.subscribe(serviceName, new EventListener(){
            @override
            public void onEvent(Event event) {
                System.out.println("收到地址变更事件");
                NamingEvent namingEvent = (NamingEvent)event;
                System.out.println(namingEvent.getServiceName() + ":" + namingEvent.getClusters());
            }
        });
    }
}

Namespace 和 Group

多租户设计(隔离)

namespace:可用来区分不同环境 - dev/prod/test

group:区分同一环境下的不同模块

Nacos配置中心

实现一个配置中心需要考虑的问题:

服务端的配置存储

配置的CRUD

配置的动态感知

SpringCloud注解实现动态感知

@RefreshScope

@Value

Nacos多环境配置

spring中通过spring.profiles配置不同环境

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nacos注册中心,全称为Dynamic Naming and Configuration Service,是一个动态命名和配置服务。它是以服务为核心的注册中心和配置中心。 在分布式项目中,Nacos充当了注册中心的角色。它提供了服务注册和发现的功能,使得不同的服务能够方便地注册到Nacos上,并通过Nacos进行服务的发现。同时,Nacos还提供了配置中心的功能,可以将配置信息集中管理,并实时推送给相关的服务。 相比于其他的注册中心组件,Nacos具有灵活性和易用性。它支持多种注册方式,包括基于HTTP/REST的注册方式、基于DNS的注册方式以及基于RPC的注册方式。此外,Nacos还提供了丰富的API和界面,使得用户能够方便地管理和监控注册的服务和配置信息。 关于Nacos的下载安装和配置,可以通过官方网站进行下载,并按照官方文档的指引进行安装和配置。Nacos的目录结构和外部数据库的配置也可以在官方文档中找到相应的说明。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nacos学习之初识Nacos](https://blog.csdn.net/weixin_42601136/article/details/121761177)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Nacos注册中心的部署与用法详细介绍](https://blog.csdn.net/a745233700/article/details/122915663)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值