阿里架构之dubbo

1、首先先感谢dubbo的作者-----梁飞等开发人员

2、公司是电商型的一家公司。无意中接触了一下dubbo。也去了解下dubbo。简单了解了一下dubbo瞬间颠覆了。我们传统的单工程开发模式。(勿喷,小白一个)

3、为什么学习dubbo?

答:传统的单工程架构,虽然也是分模块,但是模块最终需要一个类似web的工程去承载,以至于后期项目增大。开发人员之间的交互变得繁琐。不满足开发的 高内聚、低耦 合的风格。为此感谢阿里提供的开源架构。dubbo的思想是 业务层一下的结构不将直接对待controller层展示。直接托管zookpeeper。这里zookpeeper就是一个服务的中 心。有兴趣的朋友可以去了解下。这就达到了解耦的目的。加入有1000个项目。我们只需要,分组进行开发,各个模块之间不会有业务的调度。一切业务去zookeeper中 心调度。相关的模块负责人,只需要打包一个服务方和消费方一个公用的接口方公用起来,就能完美的调用。从而达到了。后期项目庞大。分模块去部署。大大提高项目 的性能。(个人看法。在写这篇日志之前,我是小白一个)

4、走进dubbo的世界----第一步。helloworld

①:准备工作

1、jdk7、tomcat7、zookeeper3.4.7、dubbo-admin-2.4.1

2、准备一台linux服务器。(这里推荐使用阿里云的服务器本人的推荐码:I1FX1J )。

3、在linux上安装jdk、和部署tomcat7(使用免安装版,网上有教程)

4、完成第3步之后,我们上传zookeeper3.4.7和dubbo-admin-2.4.1

5、解压zookeeper3.4.7后;在对应的zookeeper-3.4.7/conf 下有一个文件zoo_sample.cfg的这个文件里面配置了监听客户端连接的端口等一些信息,Zookeeper 在启动       时会找zoo.cfg这个文件作为默认配置文件,所以我们复制一个名称为zoo.cfg的文件,如图所示:

阿里架构之dubbo_第1张图片

6、说明:
  clientPort:监听客户端连接的端口。
  tickTime:基本事件单元,以毫秒为单位。它用来控制心跳和超时,默认情况下最小的会话超时时间为两倍的 tickTime。
  我们可以对配置文件的端口等或者进行高级配置和集群配置例如:maxClientCnxns:限制连接到 ZooKeeper 的客户端的数量等

7、启动Zookeeper 的服务;执行命令:./bin/zkServer.sh start

8、dubbo-admin-2.4.1是一个war包。解压。修改配置文件dubbo.properties;

9、启动tomcat服务。个解压好的war包,在tomcat运行这个就不在多说了。注意引用的路径就好。

②:项目构建

阿里架构之dubbo_第2张图片

一共建立了四个项目。看官方文档以及结合自己的思想。先简历一个parent是为了,项目的继承方便和聚合使用。

dubbo-demo-faced这个是服务方和消费方公用的接口包,这个在项目的时候,就是直接打成jar包。没有实现。实现在服务方实现。

dubbo-demo-consumer服务消费者

dubbo-demo-provider服务提供方

③、程序就不在解释了。大家有兴趣自行下载。说明下服务方中的provider.java先执行。执行完之后,不要关闭进程。此时进入zookeeper管理界面会有一个服务提供的接口,表示,服务方已经在zookeeper中心注册。消费方有一个consumer.java执行完之后,就会看到成功调用了。

结果如下图:

阿里架构之dubbo_第3张图片

阿里架构之dubbo_第4张图片

consumer.java会输出hello world信息。

你可能感兴趣的:(项目架构)