dubbo 学习1
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的更多相关文章
- Dubbo学习小记
前言 周一入职的新公司,到了公司第一件事自然是要熟悉新公司使用的各种技术,搭建本地的环境. 熟悉新公司技术的过程中,首先就是Maven,这个前面已经写过文章了,然后就是Dubbo----公司的服务都是 ...
- dubbo学习(zz)
dubbo学习 博客分类: 开源软件 Dubbo是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站 ...
- Dubbo学习(六) dubbo 架构图 以及调用过程
一.Dubbo结构图 duubo结构图 我们解释以下这个架构图:Consumer服务消费者,Provider服务提供者.Container服务容器.消费当然是invoke提供者了,invoke这条 ...
- Dubbo学习(一) Dubbo原理浅析
一.初入Dubbo Dubbo学习文档: http://dubbo.incubator.apache.org/books/dubbo-user-book/ http://dubbo.incubator ...
- dubbo学习小结
dubbo学习小结 参考: https://blog.csdn.net/paul_wei2008/article/details/19355681 https://blog.csdn.net/liwe ...
- Dubbo学习系列之十三(Mycat数据库代理)
软件界有只猫,不用我说,各位看官肯定知道是哪只,那就是大名鼎鼎的Tomcat,现在又来了一只猫,据说是位东方萌妹子,暂且认作Tom猫的表妹,本来叫OpencloudDB,后又改名为Mycat,或许Ca ...
- Dubbo学习系列之八(分布式事务之MQ方案)
自从小王玩起了微服务,发现微服务果然很强大,好处真是太多,心中暗喜,然而,却也遇到了分布式中最棘手的问题:分布式事务.小王遍访各路神仙,也无个完美开源解决方案,当然,也有些实际可行的手法,虽不算完美, ...
- Dubbo学习系列之九(Shiro+JWT权限管理)
村长让小王给村里各系统来一套SSO方案做整合,隔壁的陈家村流行使用Session+认证中心方法,但小王想尝试点新鲜的,于是想到了JWT方案,那JWT是啥呢?JavaWebToken简称JWT,就是一个 ...
- Dubbo学习系列之十五(Seata分布式事务方案TCC模式)
上篇的续集. 工具: Idea201902/JDK11/Gradle5.6.2/Mysql8.0.11/Lombok0.27/Postman7.5.0/SpringBoot2.1.9/Nacos1.1 ...
- Dubbo学习系列之十六(ELK海量日志分析框架)
外卖公司如何匹配骑手和订单?淘宝如何进行商品推荐?或者读者兴趣匹配?还有海量数据存储搜索.实时日志分析.应用程序监控等场景,Elasticsearch或许可以提供一些思路,作为业界最具影响力的海量搜索 ...
随机推荐
- GG_Model 类库与数据库表对应建立实体类
3.4.GG_Model 类库与数据库表对应建立实体类 我这里不教大家写代码,直接用TT模板自动生成,省去写代码的麻烦. A. 三个文件MysqlDbhelper.ttinclude .mysqlMa ...
- jQuery——表单应用(4)
HTML: <!--复选框应用--> <!DOCTYPE html> <html> <head> <meta charset="UTF- ...
- FJOI2019退役记
day1 不意外地一点都不紧张,早就感觉没有机会了吧 进场非常从容地读完了三道题,开始写t1暴力,接着就开始自闭,不知道该开t2还是t3,最后先开了t3,想了想这不是选两条不相交的链吗,这个暴力不是林 ...
- php 报错如下:Notice: Trying to get property of non-object
参考文档如下解决: https://stackoverflow.com/questions/5891911/trying-to-get-property-of-non-object-in 问题如下: ...
- 实例化WebService实例对象时出现localhost未引用命名空间
//实例化WebService实例对象 localhost.WebService WebserviceInstance = new localhost.WebService(); 在实例化WebSer ...
- 仿ofo单车做一个轮播效果
github地址 首先我是利用swiper.js做的,因为这个很强大,哈哈~~,上代码 html很简单 <body> <div class="swiper-containe ...
- 61配置nanopim1plus的HDMI为1080p输出
61配置nanopim1plus的HDMI为1080p输出 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 21504965 AT qq.com 完成时间:2018/4/4 10:21 版本:V1.1 开 ...
- droid开发:如何打开一个.dcm文件作为位图?
我目前正在做一个Android应用程序的DICOM 继code打开图片DROM RES /绘制的“ussual”图像格式,但它不与.dcm工作 公共类BitmapView扩展视图 { 公共Bitmap ...
- fragment间的数据传递
今天我将要讲的是fragment间的数据是如何进行传递的.这里我将举个简单的例子. 首先要有个MainActivity,它托管了MainFragment,而MainFragment又托管了DatePi ...
- EF CodeFirst 不得不说的Where与OrderBy
先来聊上5毛钱的“排序” Code: using (ApplicationDbContext Db=new ApplicationDbContext()) { var res = Db.Threes. ...