zoukankan      html  css  js  c++  java
  • DUBBO、HttpClient、WebService

    Dubbo:

    Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,推荐使用 Zookeeper 作为注册中心Registry,还有 Redis、Multicast、Simple,但不推荐。Dubbo 默认使用 Netty 框架,也是推荐

    三个主要功能:基于接口的远程调用,容错与负载均衡,服务自动注册与发现。

    远程调用:Dubbo使得调用远程服务就像调用本地java服务一样简单

    容错(重试机制):缺省为 Failover 重试,失败自动切换,当出现失败,重试其它服务器 。通常用于读操作,但重试会带来更长延迟。可通过 retries="2" 来设置重试次数(不含第一次)。

    负载均衡:默认随机

    自动注册与发现:

    1.服务提供者在启动时,向注册中心注册自己提供的服务。

    2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

    3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。(实际操作客户端不用关心)

    默认是同步等待结果阻塞的,支持异步调用。

    Dubbo 是基于 NIO 的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小,Dubbo 的设计目的是为了满足高并发小数据量的 rpc 调用,在大数据量下的性能表现并不好,建议使用 rmi 或 http 协议。

    Monitor:服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

    在 Provider 上可以配置的 Consumer 端的属性:

    1.loadbalance:负载均衡算法,默认随机

    2.timeout:方法调用超时

    3.retries:失败重试次数,默认重试 2 次

    4.actives 消费者端,最大并发调用限制

    注册中心对等集群,任意一台宕掉后,会自动切换到另一台 
    注册中心全部宕掉,服务提供者和消费者仍可以通过本地缓存通讯 
    服务提供者无状态,任一台宕机后,不影响使用 
    服务提供者全部宕机,服务消费者会无法使用,并无限次重连等待服务者恢复 

    HttpClient:

  • 相关阅读:
    关于read函数的一些分析
    条件变量
    epoll的边缘触发与水平触发
    内核态的接收缓冲区和发送缓冲区
    SourceTreet提交时显示remote: Incorrect username or password ( access token )(4种解决办法)
    前端技术汇总+Vue最新快速上手
    MyBatisPlus性能分析插件,条件构造器,代码自动生成器详解
    博客园怎样在Markdown编辑模式下调整图片大小(已解决)
    MyBatisPlus分页查询,删除操作
    idea括号选中时出现一条下滑线(突出显示)打开或关闭方法
  • 原文地址:https://www.cnblogs.com/jing-ma/p/10499870.html
Copyright © 2011-2022 走看看