Dubbbo
什么是Dubbo
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用,说白了就是个远程服务调用的分布式框架。告别Web Service模式中的wsdl,以服务者与消费者的方式在dubbo 上注册)。
其核心部分包含:
1.远程通讯,提供对多种基于长连接的NiO框架抽象封装,包括多种线程模型,序列化,以及“请求一响应”模式的信息交换方式。
2.集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持。以
及负载均衡,失败容错,地址路由,动态配置等集群支持。
3.自动发现:基于注册中心目录服务,使用服务消费能动态查找服务提供方,使地址透明,使用服务提供方可以平滑增加或减少服务器
Dubbo架构
Dubbo服务治理
节点角色说明
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Dubbo有哪些协议?
默认用的dubbo协议、Http、RMI、Hessian
Dubbo整个架构流程
分为四大模块
生产者、消费者、注册中心、监控中心
生产者:提供服务
消费者: 调用服务
注册中心:注册信息(redis、zk)
监控中心:调用次数、关系依赖等。
首先生产者将服务注册到注册中心(zk),使用zk持久节点进行存储,消费订阅zk节点,一旦有节点变更,zk通过事件通知传递给消费者,消费可以调用生产者服务。
Dubbo环境搭配
生产者
applicationContext-provider.xml
DoSomeService
DoSomeServiceImp
UserService
UserServiceImpl
test
消费者
applicationContext-provider.xml
DoSomeService
UserService
test
Dubbbo的更多相关文章
- dubbo demo实现
粗略的写了一个dubbo的demo,使用了alibaba的dubbo,还有zookeeper来做配置中心 参考资料地址: http://dubbo.io/User+Guide-zh.htm#UserG ...
- dubbo 序列化 问题 属性值 丢失 ArrayList 解决
参考文章:http://blog.csdn.net/wanyanxgf/article/details/6944733 http://tianya23.blog.51cto.com/1081650/5 ...
- Dubbo之消费者
在写 dubbbo调用时候 <dubbo:reference 不能有空格! 项目结构: pom: <project xmlns="http://maven.apache.org ...
- Dubbo部分知识点总结
Dubbo部分 Dubbo工作原理 dubbo工作原理第一层:service层,接口层,给服务提供者和消费者来实现的第二层:config层,配置层,主要是对dubbo进行各种配置的第三层:proxy层 ...
- Alibaba-技术专区-Dubbo3总体技术体系介绍及技术指南(目录)
Dubbo3开题简介 如开篇所述,Dubbo 提供了构建云原生微服务业务的一站式解决方案,可以使用 Dubbo 快速定义并发布微服务组 件,同时基于 Dubbo 开箱即用的丰富特性及超强的扩展能力,构 ...
- IO多路复用原理&场景
目录 IO多路复用的历史 阻塞 IO 非阻塞 IO IO 多路复用 select poll epoll IO多路复用高效的原因 IO多路复用解决的什么问题 epoll比selector性能一定更好吗 ...
随机推荐
- Redis学习笔记(一)— 基本命令和数据类型
MacOs环境 Redis基本命令 启动服务:redis-server 连接服务:redis-cli -h 指定主机/IP -p 指定端口 -a 指定密码 关闭服务:先shutdown 保存数据并关闭 ...
- 【题解】Luogu P4910 帕秋莉的手环
原题传送门 "连续的两个中至少有1个金的"珂以理解为"不能有两个木相连" 我们考虑一个一个将元素加入手环 设f\([i][0/1]\)表示长度为\(i\)手环末 ...
- Zookeeper学习笔记(三)——java客户端代码操作
Zookeeper客户端java代码操作 上篇博客记录了shell命令操作zookeeper集群的方式,这次尝试采用java代码来操作.通过查阅API,发现并不困难. 1. 首先获得客户端与服务器的连 ...
- 2.8_Database Interface ADO由来
OLE-DB,它无法广为流行,因为如下两点: 1.由于OLE-DB太底层化,使用上非常复杂,需要程序员拥有高潮的技巧. 2.OLEDB标准的API是C++API,只能供C++语言调用. 为了使得流行的 ...
- .Net Core WebApi(1)— 入门
主要讲述利用EF Core的CodeFirst迁移数据库,简单接口增删改查的使用,利用Swagger生成接口文档. 1.新建项目 创建DbContext 和实体模型
- win10 查看本机的激活秘钥
系统的注册表中,找到如下位置 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectio ...
- 版本管理工具Git三种工作流
Git是分布式版本管理控制的工具.学习Git一般都是先去学习Git的命令. 但是学习完Git的基本命令之后还是不知道怎样使用Git.首先,我们要清楚的 一点是Git的使用方法其实有很多种,也就是说Gi ...
- java git .gitignore常用规则
# Created by .ignore support plugin (hsz.mobi).gitignore # Operating System Files *.DS_Store Thumbs. ...
- 将集群WEB节点静态数据迁移到共享存储器(LNMP环境)
系统版本:Centos 6.5 机器及IP规划如下: 192.168.0.117 MySQL 192.168.0.118 nginx+php 192.168.0.123 nfs ①在NFS机器上 ...
- C# is与 java instanceof 作用相同
c#中 is 检查对象是否与给定类型兼容. 例如,下面的代码可以确定对象是否为 MyObject 类型的一个实例,或者对象是否为从 MyObject 派生的一个类型: if (obj is MyObj ...