Dubbo,微服务中高可用实现策略,Dubbo负载均衡策略,RPC

本文介绍了面向服务的架构(SOA)和微服务思想,重点讨论了微服务中高可用的实现策略,包括传统手动方式的弊端和采用注册中心的智能解决方案。详细阐述了Dubbo的RPC远程过程调用机制,以及其内置的负载均衡策略,如随机、轮询、一致性哈希和最小访问策略。此外,还提到了Dubbo的基本用法,包括引入依赖、定义接口、生产者和消费者的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dubbo
SOA思想(微服务思想)
面向服务的架构(SOA)是一个组件模型(程序结构),它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

微服务:在分布式的思想的条件下,应该尽可能的降低服务之间的耦合性,同时满足当服务发生异常时,可以自动的实现故障的迁移(关键字: 分布式 架构的松耦合 服务高可用)

微服务中高可用实现策略
传统高可用弊端:
如果添加/减少服务器时,需要手动的修改nginx的配置文件,并且重启服务之后,服务才能生效. 效率略低.不够智能,不能满足微服务条件下的高可用的要求(自动).

2.采用注册中心的方式实现高可用
调用步骤:

1.当服务生产者启动时,会链接注册中,将服务信息写入到注册中
2.当注册中心接收到服务信息时,会动态的维护服务注册列表数据
3.当消费者启动时,首先会链接注册中心,目的是获取注册列表
4.当消费者接收到注册列表时,将列表缓存到本地,方便以后调用
5.当服务的生产者有多个时,进行负载均衡,挑选其中的一个服务器进行访问
6.6.当服务的生产者宕机时,注册中心有心跳检测机制.当发现服务宕机时,首先会维护自己的注册列表数据,标识为down.之后全网广播通知所有的消费者修改服务列表数据.

RPC远程过程调用
1.RPC解决了分布式系统中服务之间的调用问题
2.远程调用时,就是一个代理的调用,使用的时候感觉就是再使用本地服务
在这里插入图片描述

Dubbo负载均衡策略
1.随机策略

在这里插入图片描述
2.轮询策略
在这里插入图片描述
3.一致性hash算法
在这里插入图片描述
4.最小访问在这里插入图片描述
Dubbo用法
1.导jar包

<dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

2.编辑中立接口
在这里插入图片描述
3).编辑生产者

3.1).编辑实现类

3.2).编辑YML文件        服务名称 根据接口定义的  /服务端口 唯一的

4).定义消费者

4.1).在controller中注入接口

4.2).编辑YML配置文件    链接zk集群即可.

Dubbo数据传输说明
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值