zoukankan      html  css  js  c++  java
  • Dubbo--RPC框架

    1.Dubbo官方网站:

    http://dubbo.apache.org/

    2.单一应用架构:

      打包成一个独立的单元(jar包和war包)
      2.1.可伸缩性差:测试成本高,
      2.2.可靠性差:一个模块出错,另外有关联的可会有错
      2.3.耦合度高,难以定位错误发生在哪
      2.4.项目易于管理,部署简单

    3.垂直应用架构 

    当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一 是将应用拆成 互不相干的几个应用 ,以提升效率。
    此时,用于加速前端页面开发的Web框架(MVC)是关键。
    用户系统、权限系统、商品系统、订单系统、物流系统....
    特点:系统独立部署,每一个系统都有完整的前后端;
    问题:各个系统无法做到完全独立,公共模块无法复用,系统之间通信比较麻烦;

    4.RPC架构(分布式服务框架):

    远程过程调用
    应用直接调用服务,服务之间相互隔离
    服务过多时,管理成本高,要部署好多机器

    1. 客户端以本地调用的方式调用远程服务 
    2. client stub接收到调用后,将方法、参数等组装成能够进行网络传输的消息;
    3. client stub查找服务地址,找到之后,将消息发送到服务端;
    4. server stub收到消息之后,对收到的消息进行解码;
    5. server stub根据解码结果,使用反射的方式调用本地服务;
    6. 服务端执行完成之后将结果返回给Server stub;
    7. server stub将返回结果打包成消息并发送给客户端;
    8. client stub收到消息后,对结果进行解码

    5.Dubbo框架:

    Apache Dubbo 是一款高性能、轻量级的开源 Java 服务框架
    Apache Dubbo |ˈdʌbəʊ| 提供了六大核心能力:面向接口代理的高性能RPC调用,智能 容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服 务治理与运维。

     

    注册中心官方推荐使用zookeeper
    0、容器负责启动、加载、运行服务提供者、消费者; 1、服务提供者在启动时,向注册中心注册自己提供的服务;
    2、服务消费者在启动时,向注册中心订阅自己需要的服务; 3、注册中心返回服务提供者的地址列表给消费者; 如果有服务变更(服务的上线或下线),注册中心会基于长连接的方式推送变更 给消费者; 4、服务消费者从地址列表中,基于 软件负载均衡算法 ,选择一个服务提供者进 行调用,如果调用失败,可以重试其它提供者; 5、服务消费者和提供者,在内存中累计调用时间和调用次数,每分钟向监控中 心发送一次统计数据

     6.Zookeeper:

    一个开放源码的分布式应用程序协调服务,他是一个为分布式应用提供一致性服务的软件,

    提供的功能包括:配置维护,域名服务,分布式同步,组服务等等;
    在Java中其实主要用作 注册中心 使用

  • 相关阅读:
    docker部署mysql
    docker安装nginx
    Linux查看日志-grep
    linux系统常用命令
    python爬虫
    unittest中常用的assert语句
    Linux 监控tcp连接数及状态
    linux top命令查看内存及多核CPU的使用讲述
    jmeter的时间戳函数使用
    influxdb基本SQL操作2
  • 原文地址:https://www.cnblogs.com/liuqingzhong/p/14175450.html
Copyright © 2011-2022 走看看