zoukankan      html  css  js  c++  java
  • dubbo 分布式服务框架

    dubbo(https://github.com/apache/dubbo)是一个分布式服务框架,提供了RPC调用、容错与负载均衡,服务注册与发现。 

    启动流程如下:

    1. 服务提供者注册服务,将自身的信息(IP,端口,提供的服务)发布到注册中心(zookeeper,nacos,redisd等)。

    2. 服务消费者请求注册中心,拉取要调用的服务信息(IP,端口),然后发起远程调用。 

    在服务测, dubbo会对实现类生成wapper,然后监听接口。 

    在消费测,dubbo通过对接口的解析生成一个代理类,在调用的时候,其实就是在调用这个代理类,代理类内的方法基本都是同样的实现,就是对调用信息(类,方法,参数,返回值)信息进行拼装,通过 集群负载策略(轮询,轮询带权重...) +  容错策略(failfast,failover...)  + 序列化(protobuf,hessian2)  + 协议(dubbo, grpc,thrift) + 网络通信(netty, http)发起调用请求。 

    在学习dubbo的过程中,有两个地方要注意:

    1. dubbo的扩展机制,如上所示,在发起调用的时候,有很多的实现可供选择,这些选择就是通过dubbo的扩展机制实现。 

    2. dubbo URL,无论是发布注册还是订阅,还是调用,dubbo的很多信息都是组装在url上的,很多扩展机制也是基于url进行扩展选择。 

    我的注解版:

    https://github.com/zhaoyb/dubbo

  • 相关阅读:
    cocos2dx 动画控制概要
    lua与C交互 具体
    lua与C/C++交互概要
    3D图像算法
    lua 语言笔记
    iostransitiontranslate闪屏问题总结
    document.onreadystatechange()来判断页面加载完
    JavaScript装逼指南
    box-shadow 阴影
    web小技巧
  • 原文地址:https://www.cnblogs.com/beyondbit/p/14182222.html
Copyright © 2011-2022 走看看