Dubbo的入门实战

本文介绍了Dubbo在分布式系统中的重要性,特别是在服务管理、复杂依赖关系处理和容量规划方面。它通过服务提供者、消费者、注册中心、监控中心等角色,实现服务的发布-订阅机制,以及如何配置Dubbo以利用Zookeeper进行服务注册。

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

一、为什么要用Dubbo

在互联网发展的过程,我们不能将程序只部署在一个服务器上面,为的就是防止该服务器死机导致我们的服务不能正常使用,就不能使用常规的垂直应用架构。采用分布式架构来解决这一问题。下面的是Dubbo官方的问题:

① 当服务越来越多时,服务 URL 配置管理变得非常困难,F5 硬件负载均衡器的单点压力也越来越大。
② 当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。
③ 接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器

如下图所示,Dubbo的架构

 下面是几个角色的功能

节点角色说明
Provider提供服务的服务方
Consumer调用远程服务的服务消费方
Registry服务注册与发现的注册中心
Monitor统计服务的调用次数和调用时间的监控中心
Container服务运行服务器

看完角色功能,发布-订阅的过程就非常的简单了。

  • 启动容器,加载,运行Provider。
  • 服务提供者在启动时,向注册中心提供自己提供的服务。
  • 服务消费者在启动时,在注册中心找到自己所需的服务。

 如果失败了,就另说。

下面是一个简单的例子。

下面是服务方配置的Dubbo

#spring\u9879\u76EE\u540D
spring.application.name=heaboy_provider
#Dubbo provider configuration
#\u914D\u7F6E\u5E94\u7528\u540D\u79F0
dubbo.application.name=dubbo_provider
#\u914D\u7F6E\u6CE8\u518C\u4E2D\u5FC3
dubbo.registry.protocol=zookeeper
dubbo.registry.address=zookeeper://127.0.0.1:2181
#\u7528dubbo\u534F\u8BAE\u572820880\u66B4\u9732\u670D\u52A1
dubbo.protocol.name=dubbo
dubbo.protocol.port=20881
#\u626B\u63CF\u6CE8\u89E3\u5305\u901A\u8FC7\u8BE5\u8BBE\u7F6E\u5C06\u670D\u52A1\u6CE8\u518C\u5230zookeeper
dubbo.scan.base-packages=com.heaboy.provider.**.service

放在

 下面是provider的service层

下面是consumer的controller层

在 我们前端发起请求的时候

后端会打印service的类,由网络来请求服务。

下面是安装Zookeeper

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值