微服务(服务治理)

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

注册中心原理

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

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

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

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

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

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

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

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

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以拉取和订阅服务,因此服务发现的前两步与服务注册是一样,后面再加上服务调用即可:

相关推荐
Dr.kangder6 分钟前
嵌入式软件测试(十五)——模型检查技术原理与应用
软件测试·测试工具·架构·嵌入式·静态分析
明天谭10 分钟前
EzCloud微服务SaaS平台架构解析:多租户零代码一体化企业系统整体设计
开源·springcloud·微服务架构·saas多租户·企业级开发·ezcloud
一次旅行1 小时前
ViT/CLIP/LLaVA/GPT-4V/VideoLLM多模态架构全解:原理仿真+工业落地选型+完整推理代码
人工智能·算法·架构
badhope3 小时前
MCP协议:号称要统一AI工具调用,但大多数人连第一步都走不对
后端·架构
小林ixn3 小时前
从混乱到清晰:项目架构与自定义 Hook 的双重实践
react.js·架构·前端框架
@insist1234 小时前
系统集成项目管理工程师-架构基础与系统架构
架构·系统架构·软考·系统集成项目管理工程师·软考中项·软件水平考试
星期一研究室4 小时前
代码块:长文中的‘荧光浮标’!让「关键内容」无损高亮呈现
微服务·产品·设计
Dr.kangder5 小时前
嵌入式处理器虚拟化仿真技术(九)——SimpleScalar原理与应用
嵌入式硬件·架构·嵌入式·虚拟化·仿真
郭涤生5 小时前
ARM大小核架构调度原理与RK3588嵌入式配置复习
arm开发·架构·rk3588
星火跨境XINGHUOS5 小时前
独立站建站技术栈全景拆解:从小白到能自己建站需要学什么?
架构