微服务的注册中心

目前开源的注册中心框架有很多,国内比较常见的有:

  • Eureka:Netflix公司出品,目前被集成在SpringCloud当中,一般用于Java应用
  • Nacos:Alibaba公司出品,目前被集成在SpringCloudAlibaba中,一般用于Java应用
  • Consul:HashiCorp公司出品,目前集成在SpringCloud中,不限制微服务语言
    以上几种注册中心都遵循SpringCloud中的API规范,因此在业务开发使用上没有太大差异。由于Nacos是国内产品,中文文档比较丰富,而且同时具备配置管理功能(后面会学习),因此在国内使用较多。
    我们基于Docker来部署Nacos的注册中心,首先我们要准备MySQL数据库表,用来存储Nacos的数据。然后将sql文件导入到Docker的MySQL文件中,由于是Docker部署,所以大家需要将资料中的SQL文件导入到你Docker中的MySQL容器中:
bash 复制代码
docker run -d \
--name nacos \
--env-file ./nacos/custom.env \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--restart=always \
nacos/nacos-server:v2.1.0-slim

启动完成后,访问下面地址:http://192.168.150.101:8848/nacos/,注意将192.168.150.101替换为你自己的虚拟机IP地址。首次访问会跳转到登录页,账号密码都是nacos。

接下来,我们把服务注册到Nacos,步骤如下:

  • 引入依赖``
  • 配置Nacos地址
  • 重启在pom.xml文件添加
bash 复制代码
<!--nacos 服务注册发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

在application.yml中添加nacos地址配置:

bash 复制代码
spring:
  application:
    name: item-service # 服务名称
  cloud:
    nacos:
      server-addr: 192.168.150.101:8848 # nacos地址

启动实例访问nacos控制台就可以在服务管理的服务列表里面发现服务注册成功。

如果我们要订阅服务,这个这个过程就是服务发现,步骤如下:

  • 引入依赖
  • 配置Nacos地址
  • 发现并调用服务

这里Nacos的依赖于服务注册时一致,这个依赖中同时包含了服务注册和发现的功能。因为任何一个微服务都可以调用别人,也可以被别人调用,即可以是调用者,也可以是提供者。我们在调用服务中的pom.xml中添加下面的依赖:

bash 复制代码
<!--nacos 服务注册发现-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

在调用服务的application.yml中添加nacos地址配置:

bash 复制代码
spring:
  cloud:
    nacos:
      server-addr: 192.168.150.101:8848
相关推荐
AI攻城狮1 分钟前
DeepSeek KV Cache 入门解读:98% 命中率背后的工程逻辑
云原生
yoyo_zzm1 小时前
Laravel10.x新特性全解析
数据库·mysql·架构
冯诺依曼的锦鲤1 小时前
从零实现高并发内存池:TCMalloc 核心架构拆解
c++·学习·算法·架构
nvd111 小时前
深度解析:Kong Hybrid 模式与 KIC (Gateway API) 架构演进与核心异同
架构·gateway·kong
独隅2 小时前
倒排索引与实时检索架构揭秘
架构
你的保护色2 小时前
光纤到户常用架构介绍(无源光网络PON,有源光网络AON)
网络·架构
独隅3 小时前
搜索引擎核心技术栈逆向解析
架构
EXnf1SbYK3 小时前
Redis分布式锁进阶第十二篇:全系列终极兜底复盘 + 锁架构巡检落地 + 线上零事故收尾方案
redis·分布式·架构
0点51 胜3 小时前
[MediaForge] 进阶架构师:从插件化到微内核与沙盒架构深度解析
架构
一水鉴天3 小时前
从“AI内在机制探询”到“三重三九格人本主权智能体架构”的演进 之2 20260503 (腾讯元宝)
人工智能·架构