dubbo入门
1.为什么使用dubbo?
当项目访问量过大,就会对服务系统要求很高。为了减轻服务器的压力,我们会采用分布式系统架构,由系统层和服务层两部分。而系统层有有多个系统,服务层也是由多个服务组成,分别运行在不同的服务器上。而为了让服务器之间进行通信,我们就采用了dubbo框架来完成。dubbo是阿里巴巴开发的soa分布式服务框架。
2.dubbo框架介绍!dubbo分为以下几个部分
- provide 服务提供者,将接口暴露给注册中心
- consume 服务消费者,监听(订阅注册中心)如果有自己的服务就会拿过来使用。
- register 注册中心 用于提供者和消费者之间的通信 服务注册与发现的注册中心
- container 是服务提供者的容器
- monitor 服务调用次数和调用时间的监控中心
快速入门!
dubbo是基于spring开发使用的,需要与spring整和使用
第一步:找到服务提供者,添加配置文件
- 给自己的服务起一个唯一名称。用于识别
- 连接到注册中心,(官方推荐使用zookeeper)
- 配置要暴露的接口
-
<beans xmlns="http://www.springframework.org/schema/beans" 。。。。//这里一写psring的约束 <!-- 配置服务名称 --> <dubbo:application name="service-product"/> <!-- 配置注册中心 --> <dubbo:registry protocol="zookeeper" address="192.168.88.108:2181"/> <!-- 将接口暴露到注册中心 --> <!--ref:是接口实现类的配置文名--> <dubbo:service ref="testTbService" interface="com.tpr.shangcheng.service.TestTbService" /> </beans>
接口实现类
-
<!--ref的内容--> @Service("testTbService") public class TestTbServiceImpl implements TestTbService{
第二步配置服务消费者
-
<beans xmlns="http://www.springframework.org/schema/beans" 。。。spring的约束省略 <!-- 配置服务名称 --> <dubbo:application name="console"/> <!-- 配置注册中心 --> <dubbo:registry protocol="zookeeper" address="192.168.88.108:2181"/> <!-- 配置监听注册中心 --> <!-- 为什么这个ID值更改了之后他没有报错?? 为什么打开zookeeper中的data 文件里面只有一个2025? --> <dubbo:reference id="abcd" interface="com.tpr.shangcheng.service.TestTbService" timeout="6000000"/> </beans>
第三步在虚拟机linux下安全zookeeper
zookeeper是dubbo官网推荐使用的注册中心容器
zookeeper:安装Linux OS。 注:service iptables stop chkconfig iptables off(开机也是关闭) 可以查看下面这个连接 http://note.youdao.com/share/?id=345d658af42c195362935afdcfaf666b&type=note#/