• HSF源码阅读笔记(二)


    昨天讲到了HSF容器的启动 。 HSF容器启动以后,通过osgi的bundleContext拿到了一组需要暴露给hsf容器外部使用的类,以及基于这些类的urlclassLoader. 这里面有两个关键的类:HSFSpringConsumerBean 和HSFSpringProviderBean ,

    HSFSpringProviderBean负责启动RPC服务器 ,并把HSF服务信息发布到配置中心(淘宝的config server) . 

    HSFConsumerBean负责从配置中心获取HSF接口的服务器列表,生成接口的代理类,由这个代理类承担RPC请求。

    整个系统结构图如下 :

     

    整个过程描述如下: 

    1、HSFSpringProviderBean启动HSF服务器, 采用了Apache Mina做网络通信框架(之前的blog中有描述),淘宝的tbremoting基于apache mina,提供更接近业务层的网络通信服务。

    2、发HSF服务的元信息,包括服务器的ip,端口,是否是异步调用等信息发布到淘宝的配置中心(configserver) ;

    3、HSFSpringConsumerBean生成一个HSF接口的代理类, 然后从configserver获取HSF的服务地址列表,从diamond server(淘宝的另一个配置中心,支持配置信息的实时推送) 获取流控和服务器路由信息。

    4、在HSF接口调用时通过第3步生成的接口的代理类进行一个RPC调用(序列化方式可以采用java和hessian) ,调用服务器的选择算法目前采用的是随机分配的方式。

    后面结合源码详细的展开描述:1、configserver配置信息的发布和订阅。  2、基于tbremoting进行的rpc的详细分析。

  • 相关阅读:
    Nodejs Express4.x学习笔记
    OSG学习 错误与心得
    Qt Visual Studio Add-in安装
    OSG安装配置
    钩子
    不要去追一匹马,用追马的时间种草
    intellij Idea 报jdk错误
    flex 安全沙箱问题
    webuploader
    文件上传下载
  • 原文地址:https://www.cnblogs.com/dongqingswt/p/2873976.html
Copyright © 2020-2023  润新知