一. 什么是dubbo?
百度百科:
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 [1] Spring框架无缝集成。
Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
原理图:
简单来说,dubbo框架能实现远程过程调用,具体流程是provider服务提供者(被调用的一方又称生产者)将服务注册到一个地方,然后Consumer服务的使用者(调用程序的一方又称消费者)在从这个地方拿到服务.那么"这个地方"是哪呢?
二.什么是Zookeeper?
- 作用:服务注册与发现,.简单来说它在这儿就是一个注册中心,生产者将服务注册进来,消费者从里面拿出去使用,充当一个桥梁的作用.
- ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务.
三.Dubbo+Zookeeper简单实现远程调用
-
第一步:idea创建一个空项目,在空项目下使用spring initializr创建两个模块
生产者模块(provider-server),消费者模块(consumer-server).
-
第二步:provider-server配置,将要暴露的接口注册到注册中心
配置文件:
server.port=8081
# 要暴露的服务应用名字
dubbo.application.name=provider-server
# 注册中心地址即zookeeper地址,可以在任意地方启动
dubbo.registry.address=zookeeper://127.0.0.1:2181
# 要被注册的服务,即扫描要被注册服务的包
dubbo.scan.base-packages=com.