• 分布式大规模服务调用架构


    问题探索

    一个完备的分布式架构应该具备和功能?

    讨论范围

    1.分布式微服务架构画像

    2.分布式微服务市场需求与前景

    3.分布式微服务在企业项目中的地位

    4.分布式微服务生态圈

    5.技术架构严谨的本质

    6.分布式微服务治理技术原理

    7.分布式微服务服务异步与同步的原理

    8.分布式微服务Spring Cloud Alibaba Dubbo三大法宝

    聚焦

    架构设计思想

    1.分布式微服务架构画像

    1.1 Dubbo架构

    img

    1.2 分布式Dubbo架构详细设计

    http://dubbo.apache.org/en-us/docs/dev/design.html

    数据为什么要使用序列化?

    因为协议环境针对的是远程过程调用,针对方法级别的调用,传输的参数是一个对象,因此使用的是序列化。

    /dev-guide/images/dubbo-framework.jpg

    2.分布式微服务市场需求与前景

    2.1 Baidu RPC Framework

    百度在2008年开发的RPC框架,在百度产品线广泛使用,已被brpc代替。

    百度内部最常使用的工业级RPC框架,有1,000,000+个实例(不包含Client),在百度内叫“baidu-rpc",目前只开源C++版本。

    2.2 谷歌Grpc

    主要用于智能电视、智能家居。

    支持跨语言:Android java、C#、Node、PHP、Python、Ruby...

    GRPC都基于定义服务的思想。

    既指定可以通过其参数和返回类型进行远程调用。

    GRPC可以将协议缓冲区用作其接口定义语言(IDL)和其基础消息交换格式。

    2.3 Sofa RPC

    是蚂蚁金服的技术架构。

    2.4 Netflix Feign

    2.5 Spring Cloud Alibaba Dubbo

    3.在企业项目中的使用

    4.分布式微服务服务异步与同步的原理

    4.1 通讯模型

    callback是真正的异步,可跨线程调用。

    future是伪异步。

    Dubbo中没有同步调用,均为异步调用。

    使用请求ID实现请求和响应进行映射。

    5.分布式微服务Spring Cloud Alibaba Dubbo三大法宝

    5.1 法宝一(URL BUS)

    每一个资源有自己独有的地址。

    例如http://www.solomonall.com?pid=1234&token=sns212dfdfd&threads=10

    通用URL思想:

    URL

    ftp:

    mysql:

    oracle://

    dubbo://

    registry://

    consumer://

    tmp://

    URL BUS结构详解

    urls:定位在一个资源时,还可以游离至其他的资源,可以理解为多分枝列表。

    URL输出案例

    URL BUS如何生成

    URL BUS如何进行协议转换

    5.2 法宝二(Dynamic Proxy)

    动态代理,在Dubbo中充当远程访问的中间层,由于组织请求数据,然后将Invocation数据传输到各个Invoker中进行处理。

    5.3 法宝三(Extension Loader)

    一个接口代表一个服务。

  • 相关阅读:
    JavaScript HTML DOM 事件监听器
    点击 和 松开鼠标 触发函数
    当鼠标移动过来 or 鼠标移开 触发函数
    onchange 事件(当焦点不在input框触发函数 )
    把2张表的数据合并成一张表
    Dome操作
    字典里面 值对应是函数的用法
    全局变量和局部变量的问题
    try catch finally 捕获异常的方法
    js 正则
  • 原文地址:https://www.cnblogs.com/zhang-guansheng/p/13303560.html
Copyright © 2020-2023  润新知