微服务(服务治理)

服务远程调用时存在的问题

注册中心原理

服务治理中的三个角色分别是什么?

    • 服务提供者:暴露服务接口,供其它服务调用
    • 服务消费者:调用其它服务提供的接口
    • 注册中心:记录并监控微服务各实例状态,推送服务变更信息

消费者如何知道提供者的地址?

    • 服务提供者会在启动时注册自己信息到注册中心,消费者可以从注册中心订阅和拉取服务信息

消费者如何得知服务状态变更?

    • 服务提供者通过心跳机制向注册中心报告自己的健康状态,当心跳异常时注册中心会将异常服务剔除,并通知订阅了该服务的消费者

当提供者有多个实例时,消费者该选择哪一个?

    • 消费者可以通过负载均衡算法,从多个实例中选择一个

Nacos注册中心

Nacos是目前国内企业中占比最多的注册中心组件。它是阿里巴巴的产品,目前已经加入SpringCloudAlibaba中。

使用docker拉取nacos镜像

然后执行

💡

docker run -d \

--name nacos \

-p 8848:8848 \

-p 9848:9848 \

-p 9849:9849 \

--privileged=true \

--restart=always \

--network=hm-net \

-e JVM_XMS=256m \

-e JVM_XMX=256m \

-e MODE=standalone \

-e PREFER_HOST_MODE=hostname \

-e SPRING_DATASOURCE_PLATFORM=mysql \

-e MYSQL_SERVICE_HOST=8.137.115.167 \

-e MYSQL_SERVICE_PORT=3306 \

-e MYSQL_SERVICE_DB_NAME=nacos \

-e MYSQL_SERVICE_USER=root \

-e MYSQL_SERVICE_PASSWORD=123456 \

nacos/nacos-server:v2.1.0-slim

服务注册

服务注册步骤如下:

引入nacos discovery依赖:

配置Nacos地址

服务发现

消费者需要连接nacos以拉取和订阅服务,因此服务发现的前两步与服务注册是一样,后面再加上服务调用即可:

相关推荐
风一直吹几秒前
Web 端 PvP 实时对战从零实现:匹配、同步、伤害全链路拆解
架构
Sunia2 分钟前
《Agentx专栏》06-记忆系统:用Redis+Milvus给AI配上短期+长期双层记忆
java·架构
AI科技星3 分钟前
依托Gε₀ = e²/(4παmₚ²)核心方程:全新公式推导+原创理论提炼+全维度精算验证
人工智能·线性代数·架构·概率论·学习方法
用户9385156350717 分钟前
前端必会:从 Fetch 到 DeepSeek,一篇搞懂 HTTP 请求的方方面面
javascript·架构
小谢小哥28 分钟前
68-持续集成详解
java·后端·架构
A-刘晨阳38 分钟前
数据库挂了服务就瘫?我用PostgreSQL主从流复制搭了高可用架构,cpolar打通远程访问
数据库·postgresql·架构
ai程序羊沸沸38 分钟前
Spring Cloud 微服务入门:从组件清单到问题驱动的学习路径
后端·微服务
candyTong41 分钟前
为什么 Agent Skill 不是通过向量 RAG 召回的?
架构
踩着两条虫41 分钟前
开源 AI 低代码平台 VTJ.PRO 双版本齐发:核心引擎 v0.17.1 与在线平台 v2.4.1 正式上线,强化团队协作与 AI 资产管理
前端·人工智能·低代码·架构·开源
Cosolar1 小时前
RAGFlow 从入门到精通:完整学习教程
人工智能·面试·架构