Dubbo的入门实战

一、为什么要用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

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值