微服务(服务治理)

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

注册中心原理

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

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

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

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

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

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

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

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

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

相关推荐
冗量3 分钟前
Pi Agent Chord 架构深度剖析
架构·agent·pi agent
敲代码的嘎仔7 分钟前
自己设计了一个兑换码算法:自增ID + Base32转码 + 按位加权签名 + 异或混淆,面试被追问细节时终于不用慌了
java·数据库·mysql·算法·微服务·面试·职场和发展
好好生活中9 分钟前
把“信任”设计进系统:从胖东来的前置服务,看服务型组织的架构思维
架构
m0_5873830043 分钟前
外卖CPS系统开发实战:从架构设计到运营落地全指南
java·spring·小程序·架构·需求分析
头茬韭菜1 小时前
第 0 篇:「Mem0 深度分析与文档系列计划」—— 记忆层基础设施的源码级解读路线图
架构·mem0·agent长记忆
天空属于哈夫克32 小时前
企业微信开发怎么做:架构、队列与上线清单
架构·企业微信
smartpi_ai2 小时前
原理图上的 1.2V 是输入还是输出?蜂鸟 M 裸芯供电架构、CORE 滤波设计与外围器件三规矩
单片机·嵌入式硬件·架构
萧瑟余晖2 小时前
持久层选型与框架对比详解
开发语言·架构
吃饱了得干活4 小时前
Java设计模式实战:一个支付模块的重构之旅,层层递进理解设计模式精髓
后端·设计模式·架构
Json____5 小时前
从零构建家政服务平台:一套全栈架构如何打通管理端与移动端-java-springboot
java·spring boot·后端·架构·毕设·wwwoop.com