1.高性能优秀的服务框架,应用可通过高性能的RPC实现服务的输出和输入功能,可以和spring框架无缝集成。

2.主要核心部件

  a。remoting 网络通信框架 实现了sync-over-asnc 和request-response消息机制

  b  RPC 一个远程过程调用的抽象,支持负载均衡,容灾和集群功能

  c  Registry 服务目录框架用于服务的注册和服务事件发布和订阅

3 工作原理

  provider 服务提供者

  consummer 服务消费者

  registry 服务注册于发现中心,服务注册中心

  monitor 统计服务的调用和调用时间的日志服务 服务监控中心

  container 服务容器

步骤:

  1.服务容器启动,加载,运行服务提供者

  2.服务提供者在启动时,向注册中心提供自己的服务

  3 服务消费者在启动时,向注册中心订阅自己的服务

  4 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心会同步

  5 服务消费者基于负载均衡算法,选一台提供者进行调用,

  6 调用次数和时间,定时每分钟发送到监控中心

    

4 实践

  a 服务端项目,maven引入

  

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
</dependency>

<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
</dependency>

<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>

b  application.xml

<!-- 提供方应用信息  -->
<dubbo:application name="dubbo_provider"/>

<!-- 定义dubbo服务的注册zk地址,check 注册不存在时,是否报错,subscribe 是否向注册中心订阅服务 address集群卑职  -->

<dubbo:registry address="zookeeper://192.168.59.128:2181?backup=192.168.59.128:2182,192.168.59.128:2183" check="false" subscribe="false" register=""></dubbo:registry>

<!-- 定义服务端接口->

<dubbo:service interface="com.huaguo.dubbo.IRegisterService" ref="registerService" />

c  客户端

<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="dubbo_consumer"/>

<!-- 使用zookeeper注册中心暴露服务地址
check 注册中心不存在时,是否报错
subscribe 是否向此注册中心订阅服务,如果设为false,将只注册,不订阅
address 可以是集群配置,地址可以多个逗号隔开 -->
<dubbo:registry address="zookeeper://192.168.59.128:2181?backup=192.168.59.128:2182,192.168.59.128:2183" check="false"></dubbo:registry>
<!-- 要暴露的服务接口
interface 服务接口路径
ref 引用对应的实现类bean的id -->
<dubbo:reference interface="com.huaguo.dubbo.IRegisterService" id="registerService"></dubbo:reference>

客户端就像调用本地服务一样调用registerService服务。

  

dubbo 学习1的更多相关文章

  1. Dubbo学习小记

    前言 周一入职的新公司,到了公司第一件事自然是要熟悉新公司使用的各种技术,搭建本地的环境. 熟悉新公司技术的过程中,首先就是Maven,这个前面已经写过文章了,然后就是Dubbo----公司的服务都是 ...

  2. dubbo学习(zz)

    dubbo学习 博客分类: 开源软件   Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站 ...

  3. Dubbo学习(六) dubbo 架构图 以及调用过程

    一.Dubbo结构图   duubo结构图 我们解释以下这个架构图:Consumer服务消费者,Provider服务提供者.Container服务容器.消费当然是invoke提供者了,invoke这条 ...

  4. Dubbo学习(一) Dubbo原理浅析

    一.初入Dubbo Dubbo学习文档: http://dubbo.incubator.apache.org/books/dubbo-user-book/ http://dubbo.incubator ...

  5. dubbo学习小结

    dubbo学习小结 参考: https://blog.csdn.net/paul_wei2008/article/details/19355681 https://blog.csdn.net/liwe ...

  6. Dubbo学习系列之十三(Mycat数据库代理)

    软件界有只猫,不用我说,各位看官肯定知道是哪只,那就是大名鼎鼎的Tomcat,现在又来了一只猫,据说是位东方萌妹子,暂且认作Tom猫的表妹,本来叫OpencloudDB,后又改名为Mycat,或许Ca ...

  7. Dubbo学习系列之八(分布式事务之MQ方案)

    自从小王玩起了微服务,发现微服务果然很强大,好处真是太多,心中暗喜,然而,却也遇到了分布式中最棘手的问题:分布式事务.小王遍访各路神仙,也无个完美开源解决方案,当然,也有些实际可行的手法,虽不算完美, ...

  8. Dubbo学习系列之九(Shiro+JWT权限管理)

    村长让小王给村里各系统来一套SSO方案做整合,隔壁的陈家村流行使用Session+认证中心方法,但小王想尝试点新鲜的,于是想到了JWT方案,那JWT是啥呢?JavaWebToken简称JWT,就是一个 ...

  9. Dubbo学习系列之十五(Seata分布式事务方案TCC模式)

    上篇的续集. 工具: Idea201902/JDK11/Gradle5.6.2/Mysql8.0.11/Lombok0.27/Postman7.5.0/SpringBoot2.1.9/Nacos1.1 ...

  10. Dubbo学习系列之十六(ELK海量日志分析框架)

    外卖公司如何匹配骑手和订单?淘宝如何进行商品推荐?或者读者兴趣匹配?还有海量数据存储搜索.实时日志分析.应用程序监控等场景,Elasticsearch或许可以提供一些思路,作为业界最具影响力的海量搜索 ...

随机推荐

  1. Uva 10766 Organising the Organisation (Matrix_tree 生成树计数)

    题目描述: 一个由n个部门组成的公司现在需要分层,但是由于员工间的一些小小矛盾,使得他们并不愿意做上下级,问在满足他们要求以后有多少种分层的方案数? 解题思路: 生成树计数模板题,建立Kirchhof ...

  2. Proteus中的 PIC10/12/16 MCUs编译器无法下载的问题

    当你打开网站时,点击该软件下载会发现如下页面: google一下会出现这个界面,大意是这个版本的编译器太老了,已经被某些更加高级的编译器给取代了(qaq心痛) 然后我就开始FQ到处google,Sou ...

  3. 13 继续C#中的方法,带返回值的方法介绍

    在这一个练习中,我们要使用带返回值的方法.如果一个方法带返回值,那么它的形式是这样的. 定义一个带返回值的C#方法 static 返回类型 方法名字 (参数类型 参数1的名字,参数类型 参数2的名字) ...

  4. Spring Boot (33) 分布式锁

    上一篇中使用的Guava Cache,如果在集群中就不可以用了,需要借助Redis.Zookeeper之类的中间件实现分布式锁. 导入依赖 在pom.xml中需要添加的依赖包:stater-web.s ...

  5. FCC 基础JavaScript 练习5

    在赌场21点游戏中,玩家可以通过计算牌桌上已经发放的卡牌的高低值来让自己在游戏中保持优势,这就叫21点算法. 根据下面的表格,每张卡牌都分配了一个值.如果卡牌的值大于0,那么玩家应该追加赌注.反之,追 ...

  6. webSql的简单小例子

    初始化websql数据库的参数信息 var config = { name: 'my_plan', version: '', desc: 'manage my plans', size: 20 * 1 ...

  7. 生产环境4.3.5jboss内存调优

    1.查看jboss的监控工具 http://XXX/jmx-console/htmladaptor 2.查看jvm的监控工具 jdk\bin jvisualvm.exe jmc.exe 3.查看jbo ...

  8. 00-IT人士必去的10个网站

    IT人士必去的10个网站 1.Chinaunix 网址:http://www.chinaunix.net/ 简介:中国最大的linux/unix技术社区. 2.ITPub 网址:http://www. ...

  9. netstat查看服务器连接数端口并发数

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...

  10. Autowired和Resource的区别

    Autowired是属于spring的注解,默认按类型装配,且依赖对象必须存在,如果允许为null,需要设置Autowired(required=false)   Resource属于javax,默认 ...