认识微服务-spring cluod(服务远程调用)

认识spring cluod服务

spring cluod与spring boot版本兼容关系

服务拆分

案例demo

服务拆分-服务远程调用

1、注册RestTemplate对象

2、服务远程调用RestTemplate

eureka使用

eureka作用


搭建eurekaserver(注册中心)

注册应用服务(eureka-client)

order-server中替换url路径,用服务名代替ip、端口


ribbon原理:

实现逻辑

负载均衡策略

创建Bean进行设置的是全局的,配置文件只针对userserver服务

饥饿加载

服务默认就是懒加载模式

懒加载:第一次访问服务的时候才进行加载服务


nacos使用

nacos下载

在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:

GitHub主页:https://github.com/alibaba/nacos

GitHub的Release下载页:https://github.com/alibaba/nacos/releases

windows下载后的目录结构

启动

在nacos/bin目录中,输入命令启动Nacos:

sh 复制代码
sh startup.sh -m standalone

Nacos的依赖

父工程:

xml 复制代码
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.5.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

客户端:

xml 复制代码
<!-- nacos客户端依赖包 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

nacos使用

服务注册到nacos


nacos服务分级存储模型


nacos-NacosRule

优先访问哪一个集群

权重

实际部署中会出现这样的场景:

  • 服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求

nacos提供了权重配置来控制访问频率,权重越大则访问频率越高

Nacos环境隔离

在nacos服务里面新建命名空间生成命名空间ID

在服务中设置命名空间ID:spring-cloud-nacos-discovery-namespace

eureka和nacos的对比

  • 都会把服务的信息推送到注册中心,区别在与nacos会对服务进行健康监测(划分为临时实例非临时实例

nacos默认服务是临时实例

nacos会把不健康的临时实例剔除掉,不会剔除非临时实例(会主动查询非临时实例的状态)

  • eureka是30秒更新一下服务消费和服务提供者,会存在服务列表更新不及时。nacos会主动的推送变更消息

后续相关文件链接:

一.Feign远程调用:https://blog.csdn.net/m0_66570338/article/details/128744333

二.Eureka注册中心:https://blog.csdn.net/m0_66570338/article/details/128747002

三.Nacos注册中心:https://blog.csdn.net/m0_66570338/article/details/128757552

四.Nacos配置管理:https://blog.csdn.net/m0_66570338/article/details/128764602

五.Gateway统一网关:https://blog.csdn.net/m0_66570338/article/details/128769153

六.Docker容器化:https://blog.csdn.net/m0_66570338/article/details/128786952

七.RabbitMQ&SpringAMQP消息队列:https://blog.csdn.net/m0_66570338/article/details/128808499

相关推荐
晚霞的不甘4 分钟前
CANN × ROS 2:为智能机器人打造实时 AI 推理底座
人工智能·神经网络·架构·机器人·开源
独断万古他化6 分钟前
【SSM开发实战:博客系统】(三)核心业务功能开发与安全加密实现
spring boot·spring·mybatis·博客系统·加密
jiet_h24 分钟前
后端 Verticle 架构实战:用 NeonBeeDeployable 推送一条通知
架构
程序猿追28 分钟前
CANN ops-math仓库解读 数学算子的底层支撑与高性能实现
人工智能·架构
芷栀夏41 分钟前
从 CANN 开源项目看现代爬虫架构的演进:轻量、智能与统一
人工智能·爬虫·架构·开源·cann
若鱼19191 小时前
SpringBoot4.0新特性-Observability让生产环境更易于观测
java·spring
程序猿追1 小时前
深度剖析 CANN ops-nn 算子库:架构设计、演进与代码实现逻辑
人工智能·架构
程序猿追1 小时前
深度解码昇腾 AI 算力引擎:CANN Runtime 核心架构与技术演进
人工智能·架构
晚霞的不甘2 小时前
CANN 编译器深度解析:TBE 自定义算子开发实战
人工智能·架构·开源·音视频
跳动的梦想家h2 小时前
环境配置 + AI 提效双管齐下
java·vue.js·spring