微服务(服务治理)

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

注册中心原理

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

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

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

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

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

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

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

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

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

相关推荐
这个DBA有点耶3 小时前
从DBA到数据架构师(五):数据架构演进中的技术债务管理
数据库·程序人生·云原生·架构·dba·数据库管理员
沪上企服通4 小时前
高端财税的技术切面:从“可审计级旧账重建“看企业税务合规中台的架构演进
架构
dogstarhuang4 小时前
大模型 API 停服怎么办:用 API 网关实现多模型统一接入与可切换架构
人工智能·后端·架构·大模型·api·数字化转型·ai应用
过江龙8476 小时前
Java架构师的AI转型之路(中):Agent与编排体系实战
架构
ziyun6668886 小时前
Docker 容器化 Web 服务架构搭建与自动化运维项目
运维·docker·架构
技术传感器6 小时前
让 Hermes 自动完成一个软件需求:从 Issue 到 PR 的 AI 开发流水线
人工智能·架构·aigc·需求分析·issue
Rain的Java大神之路7 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
霸道流氓气质7 小时前
微服务架构中多实例消息抢占问题:技术解析与解决方案
微服务·云原生·架构
Dr.kangder7 小时前
嵌入式面试总结(十八)——JTAG调试
嵌入式硬件·面试·职场和发展·架构·嵌入式
奈斯先生Vector8 小时前
AI 视频不是会动的图片:用 Shot Contract、时间码与音画质检构建可交付流水线
人工智能·重构·架构·prompt·aigc·音视频