下面将运行dubbo-demo,先来直观感受dubbo的作用。
1.先启动Zookeeper;Zookeeper的安装请参考: Java实习日记(2-1)
2.将打包好的dubbo-admin.war部署到Tomcat的webapps下,并启动;具体流程请参考:Java实习日记(2-2)
3.Eclipse中打开官网自带的dubbo-demo,先来修改以下两个配置文件:dubbo-demo-provider中的dubbo-demo-provider.xml和dubbo-demo-consumer中的dubbo-demo-consumer.xml

4.修改dubbo-demo-provider.xml中注册中心的配置
修改前 <dubbo:registry address="multicast://224.5.6.7:1234"/>
修改后 <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
因为Zookeeper安装在本地,所以此处的IP地址写成127.0.0.1
dubbo-demo-provider.xml如下:

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><!-- provider's application name, used for tracing dependency relationship --><dubbo:application name="demo-provider"/><!-- use multicast registry center to export service --><!-- <dubbo:registry address="multicast://224.5.6.7:1234"/> --><dubbo:registry address="zookeeper://127.0.0.1:2181"/><!-- use dubbo protocol to export service on port 20880 --><dubbo:protocol name="dubbo" port="20880"/><!-- service implementation, as same as regular local bean --><bean id="demoService" class="com.alibaba.dubbo.demo.provider.DemoServiceImpl"/><!-- declare the service interface to be exported --><dubbo:service interface="com.alibaba.dubbo.demo.DemoService" ref="demoService"/></beans>

5.同理,修改dubbo-demo-consumer.xml中注册中心的配置
修改前 <dubbo:registry address="multicast://224.5.6.7:1234"/>
修改后 <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
dubbo-demo-consumer.xml如下:

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xmlns="http://www.springframework.org/schema/beans"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"><!-- consumer's application name, used for tracing dependency relationship (not a matching criterion),don't set it same as provider --><dubbo:application name="demo-consumer"/><!-- use multicast registry center to discover service --><!-- <dubbo:registry address="multicast://224.5.6.7:1234"/> --><dubbo:registry address="zookeeper://127.0.0.1:2181"/><!-- generate proxy for the remote service, then demoService can be used in the same way as thelocal regular interface --><dubbo:reference id="demoService" check="false" interface="com.alibaba.dubbo.demo.DemoService"/></beans>

6.先运行dubbo-demo-provider项目中的Provider,控制台打印以下信息,说明Provider启动成功

打开浏览器,输入:http://localhost:10080/dubbo-admin-2.5.8/governance/providers,账号登录,可看到以下内容,说明Provider在Zookeeper注册完成,成功的暴露出服务接口

7.紧接着运行dubbo-demo-consumer项目中的Consumer,控制台打印以下信息,说明Consumer启动成功,并成功调用Provider提供的DemoService接口

打开浏览器也会出现以下情形

至此,Dubbo官网提供的Demo已经完全成功运行,下面将结合Dubbo原理详细分析这个Demo的源码。

简单总结一下我理解的Dubbo,如有错误,请批评指正!
在分布式系统中,A模块提供接口并实现,B模块想使用A模块的接口,于是A和B都到第三方Zookeeper那里注册,A把接口暴露给zookeeper,B通过zookeeper找到A的接口实现类,直接调用来满足自己需求。
用生活的例子来理解就像是租房子,A是房东,B是租客,Zookeeper是房屋中介。

Java实习日记(4)相关推荐

  1. 大三暑期去上海亚信实习日记

    实习日记 我是一名某三本院校的大三学生,专业是"数据科学与大数据技术",在钉钉时代,找到了我第一份实习.公司是亚信科技,应聘的岗位是JAVA开发,地点在上海. 2020年6月11日 ...

  2. 【日记】Java学习日记(第63天)持续无聊更新

    前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...

  3. css碎步测量,隧洞测量实习日记.doc

    隧洞测量实习日记 隧洞测量实习日记 篇一:隧道施工测量实习日记1 今天是我来到中遂股份合福高铁闽赣段七工区的第一天,是把自己所学的理论知识用到实践中来的时候了,很开心!这一天单位上的所有人对我的到来表 ...

  4. 从零基础到拿到网易Java实习offer,我做对了哪些事

    点击上方蓝字可以订阅哦! 作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右 ...

  5. Java学习日记1——基础认知

    Java学习日记1--基础认知 学习Java阶段,如果发现不正确的描述,还请指正! 首先附上Java相关下载链接和配置教程链接 Java相关软件工具下载地址:官方下载 Java环境配置(win10配置 ...

  6. Java实习面试重点基础知识

    今天第一次参加面试,十分紧张,加上本身我就学艺不精,没系统学过Java去面Java实习,问出的许多问题我都没有回答出来,估计我的第一次实习生面试凉了. 不过总不能沉溺于过去,总结一下今天面试中我遇到的 ...

  7. java实习报告范文

      篇1:java实习报告范文一.前言 实习时间:20_年02月07号---20_年06月1号 实习地点:河北中信联信息技术有限公司软件开发实习生 实习目的:通过实习,培养学生树立理论联系实际的工作作 ...

  8. 关于java实习心得总结(十篇)

    关于java实习心得总结(篇一) 初次涉及Java领域,感觉到Java入门是好像没有C,C++入门快,工具也没有什么TurboC,VisualC++好用,什么JA_HOME,CLASSPATH,虚拟机 ...

  9. Java 实习要掌握的知识

    1. Java 基础知识: Java 基础语法:包括变量.常量.数据类型.运算符.流程控制语句等. 面向对象编程的概念:如类.对象.继承.多态.接口等. 异常处理机制:如 try-catch-fana ...

  10. 计算机网络维护日记,计算机网络维护实习日记.doc

    计算机网络维护实习日记.doc (11页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 videoconference, Secreta ...

最新文章

  1. Redhat5虚拟系统安装VmwareTools
  2. JPA中persistence.xml模板
  3. python需要php吗-C、C+、Java、PHP、Python分别用来开发什么?
  4. [AngularJS学习笔记] 基础学习01
  5. SpringMVC实现文件的上传与下载
  6. 使用Java客户端操作elasticsearch
  7. (Python基础)集合操作
  8. hashmap 存取原理图_HashMap底层实现原理
  9. .NET Core 2.0迁移技巧之MemoryCache问题修复
  10. java位操作_关于java按位操作运算
  11. 考研复试考java_2019考研复试经验帖:过来人谈5件“小事”
  12. 步步惊芯 软核处理器的内部设计分析 pdf_【深度分析】互联网巨头造“芯”现状...
  13. Unity中获取鼠标相对于UI组件的位置
  14. OpenCasCade拓扑变换(使用gp_trsf)
  15. lnmp一键安装远程连接mysql_阿里云 lnmp一键安装包远程访问Mysql
  16. camera具体曝光时间readout时间出图时间
  17. Leedcode错误 error:control reaches end of non-void function[-Werror=return-type]
  18. 上海康桥先进制造技术创业园项目远程预付费系统的应用-安科瑞耿敏花
  19. java 实现金额大小写转换
  20. input框前追加图片

热门文章

  1. 深度学习与计算机视觉教程(8) | 常见深度学习框架介绍(CV通关指南·完结)
  2. 甲方怎样加强工程项目管理?
  3. PS磨皮滤镜降噪插件套装Imagenomic Professional Plugin Suite有什么功能
  4. 怎么使用biopython_使用biopython解析Fasta文件描述
  5. layui框架引入TP教程
  6. Windows10使用diskpart分区
  7. 对六自由度机械臂的运动控制及python实现(附源码)
  8. STM32传感器外设集--心率模块(MAX30102)
  9. Python打包exe文件方法汇总【4种】
  10. ArcGIS:如何创建地理数据库、创建要素类数据集、导入要素类、表?