博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
菜鸟学习Dubbo
阅读量:5094 次
发布时间:2019-06-13

本文共 1454 字,大约阅读时间需要 4 分钟。

一.什么是dubbo?

    随着互联网的不断发展,网站的应用规模越来越大,常规的垂直架构已经无法应对,尤其是类似电商的项目,所以分布式架构和流动计算架构已经势在必行。
① 单一应用架构
    当网站很小时,只需要一个项目就可以将所有功能部署到一起,减少部署成本。
    此时用于简化增删改查工作量的数据访问框架(ORM)是关键。
② 垂直应用架构
    当访问量增大时,单一应用增加机器所带来的加速越来越小,此时应当拆分单个项目为互不相干的多个应用,提升效率。
    此时,加速前端页面开发的web框架(MVC)是关键。
③ 分布式服务架构
    当垂直应用越来越多,有很多相同的业务逻辑,这样应用直接的交互不可避免,此时将核心业务抽取出来,作为独立的服务,逐 渐形成稳定的服务中心,以应对快速变化的外部市场环境。
    此时,用于提高业务复用整合的分布式服务框架(RPC)是关键。
④ 流动计算架构
    当服务越来越多,容量的评估,小服务资源浪费等问题逐渐暴露,此时需要一个服务治理工具来管理集群容量,提高利用率。
    此时,提高资源利用率的资源调度和服务治理中心(SOA)是关键。
 
而Dubbo就是资源调度和服务治理中心的管理工具。

二.为什么使用dubbo?

1.webservice:效率不高基于soap协议,项目中不建议使用,但它的优点在于跨语言通信,适用于不同公司相互调用接口。
2.使用restful形式服务:http+json。很多项目中的应用,如果服务太多,系统之间调用关系混乱,需要治疗服务。
3.使用dubbo。使用rpc协议进行远程调用,之间使用socket通信,传输效率高,并且可以统计出系统之间的调用关系、调用次数。
说白了dubbo就是一个服务治理工具,是一个服务的中间件,由于dubbo是通过java编写的,dubbo最大的缺点就出现了,它只适用于java系统间的通信。

三.Dubbo的架构

角色说明
Provider:暴露服务的服务提供方
Container:服务运行容器
Consumer:调用服务的消费方
Registry:注册服务与发现服务中心
Monitor:统计服务调用的监控中心(可有可无)
调用关系说明
0:服务运行容器启动,加载服务提供者
1:在启动时告诉注册中心服务方有什么服务
2:消费者调用服务时,先到注册中心订阅所需要服务
3:注册中心返回结果即该服务的地址
4:消费者通过地址调用服务(此时注册中心没用了)
5:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次到监控中心

四.如何使用Dubbo

Dubbo使用Spring配置方式,只需用Spring加载Dubbo的配置即可。

 

首先引入Dubbo的dtd文件头,上述配置文件为服务提供者,通过zookeeper暴露服务,timeout=“300000”为debug调试时候使用。下面则是消费者引用dubbo服务。

 

Dubbo使用相对简单,只是需要了解为什么使用Dubbo,在什么情况下使用Dubbo即可,如何搭建Dubbo和注册中心之后介绍。

转载于:https://www.cnblogs.com/zyant/p/6810618.html

你可能感兴趣的文章
jquery实现限制textarea输入字数
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
jenkins常用插件汇总
查看>>
c# 泛型+反射
查看>>
第九章 前后查找
查看>>
Python学习资料
查看>>
jQuery 自定义函数
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>
ActiveMQ与spring整合
查看>>
web服务器
查看>>
第一阶段冲刺06
查看>>
EOS生产区块:解析插件producer_plugin
查看>>
JS取得绝对路径
查看>>
排球积分程序(三)——模型类的设计
查看>>
HDU 4635 Strongly connected
查看>>
格式化输出数字和时间
查看>>
页面中公用的全选按钮,单选按钮组件的编写
查看>>
java笔记--用ThreadLocal管理线程,Callable<V>接口实现有返回值的线程
查看>>
(旧笔记搬家)struts.xml中单独页面跳转的配置
查看>>
不定期周末福利:数据结构与算法学习书单
查看>>