发表于: 2018-01-14 23:30:16

3 560


今天做的事情:


                晚上小课堂讲了dubbo, 阿里的分布式服务框架,在之前做任务九的时候,只了解的Tuscany,对Dubbo看的不多。


                最主要就是10个分层:


  1. 服务接口层(Service):该层是与实际业务逻辑相关的,根据服务提供方和服务消费方的业务设计对应的接口和实现。
  2. 配置层(Config):对外配置接口,以ServiceConfig和ReferenceConfig为中心,可以直接new配置类,也可以通过spring解析配置生成配置类。
  3. 服务代理层(Proxy):服务接口透明代理,生成服务的客户端Stub和服务器端Skeleton,以ServiceProxy为中心,扩展接口为ProxyFactory。
  4. 服务注册层(Registry):封装服务地址的注册与发现,以服务URL为中心,扩展接口为RegistryFactory、Registry和RegistryService。可能没有服务注册中心,此时服务提供方直接暴露服务。
  5. 集群层(Cluster):封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为Cluster、Directory、Router和LoadBalance。将多个服务提供方组合为一个服务提供方,实现对服务消费方来透明,只需要与一个服务提供方进行交互。
  6. 监控层(Monitor):RPC调用次数和调用时间监控,以Statistics为中心,扩展接口为MonitorFactory、Monitor和MonitorService。
  7. 远程调用层(Protocol):封将RPC调用,以Invocation和Result为中心,扩展接口为Protocol、Invoker和Exporter。Protocol是服务域,它是Invoker暴露和引用的主功能入口,它负责Invoker的生命周期管理。Invoker是实体域,它是Dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。
  8. 信息交换层(Exchange):封装请求响应模式,同步转异步,以Request和Response为中心,扩展接口为Exchanger、ExchangeChannel、ExchangeClient和ExchangeServer。
  9. 网络传输层(Transport):抽象mina和netty为统一接口,以Message为中心,扩展接口为Channel、Transporter、Client、Server和Codec。
  10. 数据序列化层(Serialize):可复用的一些工具,扩展接口为Serialization、 ObjectInput、ObjectOutput和ThreadPool。

                  

            链接: http://shiyanjun.cn/archives/325.html



           而讲的过程中提到zookeeper,在招聘信息上看到过,今天搜了下,也是一个分布式,开放源码的分布式应用程序协调服务。使用dubbo作为框架,注册中心使用的是Zookeeper集群。。


           而zookeeper设计的目的,最终一致性,clinet不论链接到哪个server,展示给它都是同一个视图,这是重要的性能。可靠性,实时性,等。



           链接:http://cailin.iteye.com/blog/2014486/



           预计是25号做完,明天开始赶工程,抓紧了,不能这么懈怠了、




遇到的问题:



              无



收获:



            了解了Dubbo和zookeeper。





返回列表 返回列表
评论

    分享到