一个一个回答吧。
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
欢迎评论~