dubbo+zookeeper示例代码_阿里dubbo框架实现RPC远程调用服务

c2a28c27e6aad4691a5473446b9f465b.png

首先由于传统的基于controller,service.mapper的开发模式,对于应对各种复杂的逻辑而言不利于实现代码的复用以及维护,从而不断衍生出各种服务架构,其中SOA面向服务架构便是比较流行的一种,而阿里巴巴的dubbo框架则将其发挥得淋漓尽致,与spring又是无缝连接,所以掌握dubbo框架也是程序员的必备技能.

下面举个例子来实现简单的调用过程(面向新手):

项目结构:(基于Maven进行管理)

427dfa0b7eeda5a68b7b0b75a99f6639.png
项目架构

1.首先将业务代码写完,实现一个简单的业务,比如添加用户

b21b77684b20bc027b1dd227a480a758.png
创建的项目结构

2.在Linux环境下创建zookeeper集群

3.将provider服务发布到zookeeper注册中心, 可通过Main类的main方法启动spring框架,由于dubbo框架的是依赖spring容器进行初始化操作的,故必须开启spring容器.

4.开启成功后可通过admin管理平台去查看服务

5.确保无误后,再将consumer热部署到另一台Linux虚拟机的tomcat上

6.通过访问tomcat中部署的项目,并测试其功能是否能消费原来provider里面的服务,来测试是远程调用成功

以上是调用的步骤,说得比较简易,但做起来里面有很多细节的地方要处理,比如provider发布的服务去注册中心注册时,不要忘了在配置文件中进行注册,通过dubbo:service标签,而消费端consumer在消费服务时,也要在dubbo的配置文件中进行订阅,通过dubbo:reference标签,如果不配置的话是无法消费服务的,原因是spring底层无法生成该接口的Proxy对象等等.

总的来说dubbo的优缺点还是很明显的:

优点:

  • 透明化的远程方法调用
    像调用本地方法一样调用远程方法;只需简单配置,没有任何API侵入。
  • 软负载均衡及容错机制
    可在内网替代nginx lvs等硬件负载均衡器。
  • 服务注册中心自动注册 & 配置管理
    不需要写死服务提供者地址,注册中心基于接口名自动查询提供者ip。
    使用类似zookeeper等分布式协调服务作为服务注册中心,可以将绝大部分项目配置移入zookeeper集群。
  • 服务接口监控与治理
    Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,针对不同应用的不同接口,可以进行 多版本,多协议,多注册中心管理。

缺点:

  • 只支持JAVA语言
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值