zoukankan      html  css  js  c++  java
  • 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的详细分析。

  • 相关阅读:
    Vue 获取URL链接后面的参数值
    Vue 跳转到指定页面,返回到上一页
    Vant 插件
    Vue 返回上一页,记住上一页的数据
    vue pc端支付宝支付
    Spring 中的事务
    数据库中锁与事务
    《产品方法论》 读书笔记
    设计模式之装饰者模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/dongqingswt/p/2873976.html
Copyright © 2011-2022 走看看