zoukankan      html  css  js  c++  java
  • Dubbo源码学习之基本概念

    Dubbo基本概念

    1、URL

    统一资源定位器

    标准的URL格式

    protocol://username:password@host:port/path?key=value&key2=value2

    Dubbo中的URL

    在Dubbo中:

    服务是资源, dubbo://192.168.1.1:20880/com.example.HelloService?timeout=3000

    注册中心是资源: zookeeper://127.0.0.1:2181/org.apache.dubbo.registry.RegistryService?application=demo-consumer&dubbo=2.0.2&interface=/org.apache.dubbo.registry.RegistryService&pid=1214&qos.port=33333&timestamp=1545721981947

    消费者是资源: consumer://31.6.121.218/org.apache.dubbo.demo.DemoService?application=demo-consumer&

    category=consumers&check=false&dubbo=2.0.2&interface=org.apache.dubbo.demo.DemoService&methods=sayHello&pid=1209&qos.port=33333&side=consumer&timestamp=1545
    721827784
    配置信息是资源
    元数据信息是资源
    外物皆资源,皆可用URL表示
     
    我们用 <dubbo:service interface="com.example.api.HelloService" ref="helloService"/> 定义一个服务器,那么spring会把dubbo的标签解析成Bean对象,在服务暴露初始化时,将Bean对象转换成URL格式,所有Bean属性转成URL的参数。
    URL在Dubbo中被当作是公共锲约,URL作为上下文信息贯穿整个框架
     
     
    2、Invoker
    Invoker是Dubbo的核心模型,代表一个可执行体。在服务提供方,Invoker用于调用服务提供类。在服务消费方,Invoker用于执行远程调用。
     
    3、Invocation
    调用对象
     
    4、Java SPI
    JDK标准的SPI会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,没有用上也会加载,会很浪费资源。
     
     5、Dubbo API
    @SPI
    修饰在接口上,注解的值代表的该接口默认的扩展点名
     
    @Activate
    表示实现类是否可以被激活。通常被用在一个接口有很多实现类,但是这些实现类在特定条件下才需要使用,比如RouterFactory接口,这是路由工厂接口,而它的实现类有TagRouterFactory,ConditionRouterFactory等等,在调用的时候,需要根据配置的一些信息来决定需不需要加载,而@Activate就提供了这个功能,修饰了这个注解的类,如果注解上没有任何值,那么表示无条件自动激活,当value有值,表示参数为有效值时激活,比如配置了cache=“lru”,自动激活CacheFilter,如果group=provider,表示只对提供方激活,group可选“provider”或“consumer”
     
     
    自动注入
    只有set注入,在注入时,会根据setXXX中的名字,去spring容器中寻找是否有beanName=xxx的对象,有则直接注入。如果没有,则会使用Dubbo默认的SpiExtensionFactory获取set方法参数类型的一个代理类
     
     
    自动包装
    对于一个接口实现,可以对它的外层进行包装,类似AOP
     
  • 相关阅读:
    背水一战 Windows 10 (26)
    背水一战 Windows 10 (25)
    背水一战 Windows 10 (24)
    背水一战 Windows 10 (23)
    背水一战 Windows 10 (22)
    背水一战 Windows 10 (21)
    背水一战 Windows 10 (20)
    背水一战 Windows 10 (19)
    背水一战 Windows 10 (18)
    背水一战 Windows 10 (17)
  • 原文地址:https://www.cnblogs.com/linlf03/p/13065524.html
Copyright © 2011-2022 走看看