2019独角兽企业重金招聘Python工程师标准>>>

先把zookeeper在本地给安装好,

这里的话讲述了两个工程一个工程是提供服务的,一个工程是调用服务的,因为dubbo是跟spring进行无缝连接的,故功能配置在spring的配置文件中,跟spring进行整合开发

1、工程是以maven进行构建的,使用的jar包如下:

2、服务提供者的工程

a、dubbo-demo-api  定义接口

[java] view plain copy

  1. public interface IProcessData {
  2. public String deal(String data);
  3. }

b、dubbo-demo-provider 服务提供者

[java] view plain copy

  1. public class ProcessDataImpl implements IProcessData {
  2. /*
  3. * @see com.xxx.bubbo.provider.IProcessData#deal(java.lang.String)
  4. */
  5. @Override
  6. public String deal(String data) {
  7. try {
  8. Thread.sleep(1000);
  9. } catch (InterruptedException e) {
  10. e.printStackTrace();
  11. }
  12. return "Finished:" + data;
  13. }
  14. }

c、applicationProvider.xml配置

[html] view plain copy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd
  6. http://code.alibabatech.com/schema/dubbo
  7. http://code.alibabatech.com/schema/dubbo/dubbo.xsd
  8. ">
  9. <!-- Application name -->
  10. <dubbo:application name="hello-world-app" />
  11. <!-- registry address, used for service to register itself -->
  12. <dubbo:registry address="zookeeper://127.0.0.1:2181" />
  13. <!-- expose this service through dubbo protocol, through port 20880 -->
  14. <!--
  15. <dubbo:protocol name="dubbo" port="20880" />
  16. <dubbo:protocol name="dubbo" port="9090" server="netty"
  17. client="netty" codec="dubbo" serialization="hessian2" charset="UTF-8"
  18. threadpool="fixed" threads="100" queues="0" iothreads="9" buffer="8192"
  19. accepts="1000" payload="8388608" />
  20. -->
  21. <!-- Service interface   Concurrent Control  -->
  22. <dubbo:service interface="com.huangjie.dubbo_Service.service.IProcessData"
  23. ref="demoService" executes="10" />
  24. <!-- Default Protocol -->
  25. <!--
  26. <dubbo:protocol server="netty" />
  27. -->
  28. <!-- designate implementation -->
  29. <bean id="demoService" class="com.huangjie.dubbo_Service.service.impl.ProcessDataImpl" />
  30. </beans>

d、启动服务

[java] view plain copy

  1. public class DubboProviderMain {
  2. public static void main(String[] args) throws Exception {
  3. ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
  4. new String[]{"applicationProvider.xml"});
  5. context.start();
  6. System.out.println("Press any key to exit.");
  7. System.in.read();
  8. }
  9. }

3、服务调用者的工程

a、调用类

[java] view plain copy

  1. public class ConsumerThd implements Runnable {
  2. /*
  3. * @see java.lang.Runnable#run()
  4. */
  5. @Override
  6. public void run() {
  7. ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
  8. new String[]{"applicationConsumer.xml"});
  9. context.start();
  10. IProcessData demoService = (IProcessData) context.getBean("demoService"); // get
  11. // service
  12. // invocation
  13. // proxy
  14. String hello = demoService.deal("nihao"); // do invoke!
  15. System.out.println(Thread.currentThread().getName() + " "+hello);
  16. }
  17. public static void main(String[] args) {
  18. new Thread(new ConsumerThd()).start();
  19. /**
  20. * 输出结果:
  21. * Thread-0 Finished:nihao
  22. */
  23. }
  24. }

b、applicationConsumer.xml配置

[html] view plain copy

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans.xsd
  6. http://code.alibabatech.com/schema/dubbo
  7. http://code.alibabatech.com/schema/dubbo/dubbo.xsd
  8. ">
  9. <!-- consumer application name -->
  10. <dubbo:application name="consumer-of-helloworld-app" />
  11. <!-- registry address, used for consumer to discover services -->
  12. <dubbo:registry address="zookeeper://127.0.0.1:2181" />
  13. <dubbo:consumer timeout="5000"/>
  14. <!-- which service to consume? -->
  15. <dubbo:reference id="demoService" interface="com.huangjie.dubbo_Service.service.IProcessData" />
  16. </beans>

4、最后需要把zookeeper的服务给启动,在zookeeper安装文件夹下面的bin目录里面的zkServer.cmd给点击运行。不要关闭窗口,保持服务运行


这样整个调用就完成了,这样的好处是只要远程提供ip地址及端口号,以及对外调用的类,客户端就可以调用,客户端不必知道服务端的地址之类的

而且服务端可以开多个zookeeper服务,这样如果其中一个zookeeper 服务死掉了,其他服务还能正常运行

框架/平台构成:
Maven+Springmvc + Mybatis + Shiro(权限)+ Tiles(模板) +ActiveMQ(消息队列) + Rest(服务) + WebService(服务)+ EHcache(缓存) + Quartz(定时调度)+ Html5(支持PC、IOS、Android)

用户权限系统:
组织结构:角色、用户、用户组、组织机构;权限点:页面、方法、按钮、数据权限、分级授权

项目管理新体验:
快速出原型系统、组件树、版本控制、模块移植、协同开发、实时监控、发布管理

可持续集成:
所有组件可移植、可定制、可扩充,开发成果不断积累,形成可持续发展的良性循环

支持平台平台: 
Windows XP、Windows 7 、Windows 10 、 Linux 、 Unix

服务器容器:
Tomcat 5/6/7 、Jetty、JBoss、WebSphere 8.5

转载于:https://my.oschina.net/gdfgehre/blog/781720

Dubbo zookeeper 初探【转】相关推荐

  1. Dubbo+zookeeper使用方法以及注意事项

    Dubbo+zookeeper使用方法以及注意事项 最近在一个项目中想做一个数据库查询的服务,目的是将数据库查询这块从程序中脱离出来,形成一个公共的服务平台,大家都可以调用,经过考虑决定选用Dubbo ...

  2. (五)springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven构建根项目

    上一篇我们介绍<springmvc+mybatis+dubbo+zookeeper分布式架构 整合 - maven模块规划>,从今天开始,我们将对代码的每一个构建做详细的记录,能够帮助大家 ...

  3. Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔 ...

  4. JEESZ架构、分布式服务:Dubbo+Zookeeper+Proxy+Restful

    分布式 分布式服务:Dubbo+Zookeeper+Proxy+Restful 分布式消息中间件:KafKa+Flume+Zookeeper 分布式缓存:Redis 分布式文件:FastDFS 负载均 ...

  5. 分布式系统设计原理与方案Dubbo+Zookeeper+Spring整合

    2019独角兽企业重金招聘Python工程师标准>>> 一直在思考分布式系统设计的问题,业务对象原封不动的情况下部署在客户端和服务器端,可以根据配置文件选择是连接服务器还是连接本地的 ...

  6. 精华【分布式、微服务、云架构dubbo+zookeeper+springmvc+mybatis+shiro+redis】分布式大型互联网企业架构!...

    2019独角兽企业重金招聘Python工程师标准>>> 框架简介--主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件.数据权限组件.数 ...

  7. dubbo+zookeeper+dubbo管理控制台实践demo

    2019独角兽企业重金招聘Python工程师标准>>> 1,安装并启动zookeeper注册服务,这里使用的是3.4.6版本. 下载解压后,在zookeeper-3.4.6/conf ...

  8. dubbo+zookeeper与提供者、消费者之间端口通信问题(No provider available for the service)

    一.异常信息分析 Failed to check the status of the service com.sihai.service.ItemService. No provider availa ...

  9. zookeeper 密码_「附源码」Dubbo+Zookeeper 的 RPC 远程调用框架

    技术博文,及时送达 作者 | 码农云帆哥 链接 | blog.csdn.net/sinat_27933301 上一篇:从零搭建创业公司后台技术栈 这是一个基于Dubbo+Zookeeper 的 RPC ...

最新文章

  1. 如果刘华强是个码农...
  2. Java 中日期的几种常见操作 —— 取值、转换、加减、比较
  3. pep8 python 编码规范_Python合集之Python语法特点(三)
  4. argsort()返回数据从小到大的“索引值”
  5. 领域驱动设计-什么是领域驱动设计和怎么使用它
  6. D3js(五):tooltips
  7. 使用vbs脚本检查网站是否使用asp.net
  8. 8.元组tup.rs
  9. android 购票代码,android完美电影购票源码
  10. valueOf与toString
  11. 解决修改sources.list之后update NO_PUBKEY错误
  12. WebSphere的管理员界面
  13. STC89C51单片机串口程序下载失败总结
  14. 秩和比(RSR)指标计算
  15. 对程序员而言,学历重要吗?
  16. 连线杂志:《愤怒的小鸟》长成记
  17. 初学者:html中的表单详解(下面附有代码)
  18. Android 百度地图--定位、周边搜索
  19. OAEP及其在OpenSSL中的实现
  20. thinkpad x250装黑苹果教程_Thinpad T系列安装MAC OS 黑苹果教程

热门文章

  1. Buider模式应用实践
  2. 微信小程序wx.request请求服务器json数据并渲染到页面
  3. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU
  4. IBM为私有云用户提供开源数据库访问
  5. 用户密码以BCrypt加密的方式来防范被破解
  6. 6-2-二叉树(二叉链表存储)-树和二叉树-第6章-《数据结构》课本源码-严蔚敏吴伟民版...
  7. tomcat绿色版及安装版修改内存大小的方法
  8. 基于CSS+dIV的网页层,点击后隐藏或显示
  9. HoloLens还太远 必应才是微软目前的重头戏
  10. linux下文件编码的查看与转换(转)