<一>dubbo框架学前原理介绍
2016-05-25 10:14
344 查看
alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo、hsf),jms消息服务(napoli、notify),KV数据库(tair)等。这个框架/工具/产品在实现的时候,都考虑到了容灾,扩展,负载均衡,于是出现一个配置中心(ConfigServer)的东西来解决这些问题。
基本原理如图:
![](data:image/gif;base64,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)
在 我们的系统中,经常会有一些跨系统的调用,如在A系统中要调用B系统的一个服务,我们可能会使用RMI直接来进行,B系统发布一个RMI接口服务,然后A 系统就来通过RMI调用这个接口,为了解决容灾,扩展,负载均衡的问题,我们可能会想很多办法,alibaba的这个办法感觉不错。
本文只说dubbo,原理如下:
ConfigServer
配置中心,和每个Server/Client之间会作一个实时的心跳检测(因为它们都是建立的Socket长连接),比如几秒钟检测一次。收集每个Server提供的服务的信息,每个Client的信息,整理出一个服务列表,如:
当某个Server不可用,那么就更新受影响的服务对应的serverAddressList,即把这个Server从serverAddressList中踢出去(从地址列表中删除),同时将推送serverAddressList给这些受影响的服务的clientAddressList里面的所有Client。如:192.168.0.3挂了,那么UserService和ProductService的serverAddressList都要把192.168.0.3删除掉,同时把新的列表告诉对应的Client 172.16.0.1,172.16.0.2,172.16.0.3;
当某个Client挂了,那么更新受影响的服务对应的clientAddressList
ConfigServer根据服务列表,就能提供一个web管理界面,来查看管理服务的提供者和使用者。
新加一个Server时,由于它会主动与ConfigServer取得联系,而ConfigServer又会将这个信息主动发送给Client,所以新加一个Server时,只需要启动Server,然后几秒钟内,Client就会使用上它提供的服务
Client
调用服务的机器,每个Client启动时,主动与ConfigServer建立Socket长连接,并将自己的IP等相应信息发送给ConfigServer。
Client在使用服务的时候根据服务名称去ConfigServer中获取服务提供者信息(这样ConfigServer就知道某个服务是当前哪几个Client在使用),Client拿到这些服务提供者信息后,与它们都建立连接,后面就可以直接调用服务了,当有多个服务提供者的时候,Client根据一定的规则来进行负载均衡,如轮询,随机,按权重等。
一旦Client使用的服务它对应的服务提供者有变化(服务提供者有新增,删除的情况),ConfigServer就会把最新的服务提供者列表推送给Client,Client就会依据最新的服务提供者列表重新建立连接,新增的提供者建立连接,删除的提供者丢弃连接
Server
真正提供服务的机器,每个Server启动时,主动与ConfigServer建立Scoket长连接,并将自己的IP,提供的服务名称,端口等信息直接发送给ConfigServer,ConfigServer就会收集到每个Server提供的服务的信息。
优点:
1,只要在Client和Server启动的时候,ConfigServer是好的,服务就可调用了,如果后面ConfigServer挂了,那只影响ConfigServer挂了以后服务提供者有变化,而Client还无法感知这一变化。
2,Client每次调用服务是不经过ConfigServer的,Client只是与它建立联系,从它那里获取提供服务者列表而已
3,调用服务-负载均衡:Client调用服务时,可以根据规则在多个服务提供者之间轮流调用服务。
4,服务提供者-容灾:某一个Server挂了,Client依然是可以正确的调用服务的,当前提是这个服务有至少2个服务提供者,Client能很快的感知到服务提供者的变化,并作出相应反应。
5,服务提供者-扩展:添加一个服务提供者很容易,而且Client会很快的感知到它的存在并使用它。
顺便说一下,hadoop里面的中心节点跟这里的configServer作用类似,在维护节点列表方面,不过它的相关计算都需要通过中心节节点,让它来分配任务。
基本原理如图:
在 我们的系统中,经常会有一些跨系统的调用,如在A系统中要调用B系统的一个服务,我们可能会使用RMI直接来进行,B系统发布一个RMI接口服务,然后A 系统就来通过RMI调用这个接口,为了解决容灾,扩展,负载均衡的问题,我们可能会想很多办法,alibaba的这个办法感觉不错。
本文只说dubbo,原理如下:
ConfigServer
配置中心,和每个Server/Client之间会作一个实时的心跳检测(因为它们都是建立的Socket长连接),比如几秒钟检测一次。收集每个Server提供的服务的信息,每个Client的信息,整理出一个服务列表,如:
serviceName | serverAddressList | clientAddressList |
UserService | 192.168.0.1,192.168.0.2,192.168.0.3,192.168.0.4 | 172.16.0.1,172.16.0.2 |
ProductService | 192.168.0.3,192.168.0.4,192.168.0.5,192.168.0.6 | 172.16.0.2,172.16.0.3 |
OrderService | 192.168.0.10,192.168.0.12,192.168.0.5,192.168.0.6 | 172.16.0.3,172.16.0.4 |
当某个Client挂了,那么更新受影响的服务对应的clientAddressList
ConfigServer根据服务列表,就能提供一个web管理界面,来查看管理服务的提供者和使用者。
新加一个Server时,由于它会主动与ConfigServer取得联系,而ConfigServer又会将这个信息主动发送给Client,所以新加一个Server时,只需要启动Server,然后几秒钟内,Client就会使用上它提供的服务
Client
调用服务的机器,每个Client启动时,主动与ConfigServer建立Socket长连接,并将自己的IP等相应信息发送给ConfigServer。
Client在使用服务的时候根据服务名称去ConfigServer中获取服务提供者信息(这样ConfigServer就知道某个服务是当前哪几个Client在使用),Client拿到这些服务提供者信息后,与它们都建立连接,后面就可以直接调用服务了,当有多个服务提供者的时候,Client根据一定的规则来进行负载均衡,如轮询,随机,按权重等。
一旦Client使用的服务它对应的服务提供者有变化(服务提供者有新增,删除的情况),ConfigServer就会把最新的服务提供者列表推送给Client,Client就会依据最新的服务提供者列表重新建立连接,新增的提供者建立连接,删除的提供者丢弃连接
Server
真正提供服务的机器,每个Server启动时,主动与ConfigServer建立Scoket长连接,并将自己的IP,提供的服务名称,端口等信息直接发送给ConfigServer,ConfigServer就会收集到每个Server提供的服务的信息。
优点:
1,只要在Client和Server启动的时候,ConfigServer是好的,服务就可调用了,如果后面ConfigServer挂了,那只影响ConfigServer挂了以后服务提供者有变化,而Client还无法感知这一变化。
2,Client每次调用服务是不经过ConfigServer的,Client只是与它建立联系,从它那里获取提供服务者列表而已
3,调用服务-负载均衡:Client调用服务时,可以根据规则在多个服务提供者之间轮流调用服务。
4,服务提供者-容灾:某一个Server挂了,Client依然是可以正确的调用服务的,当前提是这个服务有至少2个服务提供者,Client能很快的感知到服务提供者的变化,并作出相应反应。
5,服务提供者-扩展:添加一个服务提供者很容易,而且Client会很快的感知到它的存在并使用它。
顺便说一下,hadoop里面的中心节点跟这里的configServer作用类似,在维护节点列表方面,不过它的相关计算都需要通过中心节节点,让它来分配任务。
相关文章推荐
- 使用Java抽取RTF思想
- 改变状态栏样式
- 美化加载失败的图片(Stying broken images)
- 网易视频云技术分享:linux软raid的bitmap分析
- SVN常用终端命令
- MAC地址分类
- (礼拜三log)前端开发:好用的日历插件推荐 plus table使用的注意事项
- JAVA学习之——fail-fast机制
- mustache.js的使用说明
- Backbonejs之collection
- UIBarMetrics
- TCP/IP——数据分段(分片)与重组
- 博客创办目的——————欢迎相互学习
- Fortran 函数中单精度,双精度不匹配的错误
- HashSet集合用法
- hash算法 (hashmap 实现原理) Java实现的散列表
- bsurfaces插件
- javascript之JSON引入
- Spring 定时任务之 @Scheduled cron表达式
- idea maven控制台打包出现乱码