zoukankan      html  css  js  c++  java
  • 深入理解Dubbo系列(一)-初始Dubbo

    初始Dubbo

    1.   RPC原理
    2.        Dubbo初识

    1、RPC原理

      RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议

      

    • 服务消费方(client)调用以本地调用方式调用服务;
    • client stub接收到调用后负责将方法、参数等组装成能够进行网络传输的消息体;
    • client stub找到服务地址,并将消息发送到服务端;
    • server stub收到消息后进行解码;
    • server stub根据解码结果调用本地的服务;
    • 本地服务执行并将结果返回给server stub;
    • server stub将返回结果打包成消息并发送至消费方;
    • client stub接收到消息,并进行解码;
    • 服务消费方得到最终结果。

      下面再贴一个网上的时序图:

      

    2、Dubbo初识 

      Dubbo 的诞生和 SOA 分布式架构的流行有着莫大的关系。SOA 面向服务的架构(Service Oriented Architecture),也就是把工程按照业务逻辑拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。SOA架构中有两个主要角色:服务提供者(Provider)和服务使用者(Consumer)。
      
      

       Dubbo 提供的下面四点特性:

    1. 负载均衡——同一个服务部署在不同的机器时该调用那一台机器上的服务。
    2. 服务调用链路生成——随着系统的发展,服务越来越多,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。Dubbo 可以为我们解决服务之间互相是如何调用的。
    3. 服务访问压力以及时长统计、资源调度和治理——基于访问压力实时管理集群容量,提高集群利用率。
    4. 服务降级——某个服务挂掉之后调用备用服务。

    另外,Dubbo 除了能够应用在分布式系统中,也可以应用在现在比较火的微服务系统中。不过,由于 Spring Cloud 在微服务中应用更加广泛,所以,我觉得一般我们提 Dubbo 的话,大部分是分布式系统的情况。

  • 相关阅读:
    Jessica's Reading Problem POJ
    FatMouse and Cheese HDU
    How many ways HDU
    Humble Numbers HDU
    Doing Homework again
    Stacks of Flapjacks UVA
    Party Games UVA
    24. 两两交换链表中的节点
    面试题 03.04. 化栈为队
    999. 可以被一步捕获的棋子数
  • 原文地址:https://www.cnblogs.com/tuanz/p/15133463.html
Copyright © 2011-2022 走看看