您的位置:首页 > 其它

dubbo 到底是用来干嘛的?

2017-04-04 00:00 309 查看
摘要: 最近在研究集群和分布式系统,出于自学,又是初级阶段,所以在网上搜到一些介绍文章和原理往往都看到是一知半解。太多的专业术语,专业词汇,看的令人头疼。现在就我所了解的知识层面及所面临的问题,罗列如下,望前辈解惑:
1—— 集群是在不同的机器上部署同一个项目,用来“负载均衡”及“失效备援”,那么它们到底如何或者说通过什么来来“负载均衡”及“失效备援”?分布在各个机器上的项目的地址是怎么分配的?是通过谁分配的?
2—— dubbo在整合分布式系统中是干什么用的?它的原理是什么?

一个一个回答吧。

1. 负载均衡:对外提供一个公共地址,请求过来时通过轮询、随机等,路由到不同server。目的是分摊压力。

失效备援:发现一台server挂了,就让另外一台去服务了。跟餐馆换个服务员继续招待你一样。

容错机制:当我们的系统中用到Dubbo的集群环境,因为各种原因在集群调用失败时,Dubbo提供了多种容错方案,缺省为failover重试。

2. Java下的一套RPC框架(soa思想),作用就是统一管理配置,各个系统服务间的调用。 A系统调用B系统接口服务, 后面就是怎么把这个流程,动态化(zookeeper通知)、权限化、配置化、低耦合化、自动化。

3.dubbo是用来跨系统通信的,即使不用集群也可以。
一个系统用作客户端,一个系统则充当服务端。服务端要把自己的接口定义提供给客户端,客户端将接口定义在spring中的bean。客户端可以直接使用这个bean,就好像这些接口的实现也是在自己代码里一样。
客户端和服务端启动的时候都会把自己的机器IP注册到zookeeper上。客户端会把zk上的服务端ip拉到磁盘上,并记录哪些ip提供哪些服务(服务端启动的时候暴露给zk)。然后调用的时候客户端会根据ip调用服务端的服务,这时候即使zk挂掉也没关系。

说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)

怎么用dubbo?

Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

如何查看zookeeper注册中心是否有注册服务~~请点击https://my.oschina.net/monroe/blog/1554900

欢迎评论~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Dubbo ZooKeeper