Dubbo学习笔记

分布式系统

  • 集群:很多人一起,干一样的事
    • 一个业务模块,部署在多台服务器上
  • 分布式:很多人一起,干不一样的事,不一样的事,合起来是一件大事
    • 一个大的业务系统,拆分为小的业务模块,分别部署在不同的机器上
  • 架构
    • 单体架构
      • 开发部署方便。小型项目首选
      • 启动慢,可靠性差,可伸缩性差,性能低
    • 垂直架构
      • 重复功能太多
    • 分布式架构:在垂直架构的基础上,将公共业务模块抽取出来,作为独立的服务,供其他调用者消费,以实现服务的共享和重用
      • 服务提供方一旦产生变更,所有消费方都需要变更
      • RPC:远程过程调用
    • SOA架构
    • 微服务架构

1.单体架构

请添加图片描述

2.垂直架构

请添加图片描述

3.分布式架构

请添加图片描述

4.SOA架构

请添加图片描述

5.微服务架构

请添加图片描述

Dubbo

  • 简介

    • Dubbo是一个高性能、轻量级的RPC框架
    • 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案
  • 架构
    请添加图片描述

  • 节点角色说明

    • Provider:暴露服务的服务提供方
    • Container:服务运行容器
    • Consumer:调用远程服务的服务消费方
    • Registry:服务注册与发现的注册中心
    • Monitor:统计服务的调用次数和调用时间的监控中心

dubbo-admin

  • 简介

    • 是图形化的服务管理页面
    • 从注册中心中获取到所有的提供者/消费者进行配置管理
    • 具有路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡等管理功能
  • 序列化

    • dubbo内部已经将序列化和反序列化的过程内部封装了
    • 只需在定义pojo类时实现Serializable接口即可
    • 一般会定义一个公共的pojo模块,让生产者和消费者都依赖该模块
  • 地址缓存

  • 超时

    • 服务消费者在调用服务提供者的时候发生了阻塞、等待的情形,这个时候,服务消费者会一直等待下去
    • 在某个峰值时刻,大量的请求都在同时请求服务消费者,会造成线程的大量堆积,势必会造成雪崩
    • dubbo利用超时机制,设置一个超时时间,在这个时间段内,无法完成服务访问,则自动断开连接
  • 重试

    • 设置了超时时间,在这个时间段内,无法完成服务访问,则自动断开连接
    • 如果出现网络抖动,则这一次的请求就会失败
    • dubbo提供重试机制来避免类似问题的发生
  • 多版本

    • 灰度发布:当出现新功能时,会让一部分用户先使用新功能,用户反馈没问题时,再将所有用户迁移到新功能
    • dubbo中使用version属性来设置和调节同一个接口的不同版本
  • 负载均衡

    • Random:按权重随机
    • RoundRobin:按权重轮询
    • LeastActive:最少活跃调动数,相同活跃数的随机
    • ConsistentHash
  • 集群容错

    • Failover Cluster:失败重试,当出现失败,重试其他服务器
    • Failfast Cluster:快速失败,只发起一次调用,失败立即报错
    • Failsafe Cluster:失败安全,出现异常时,直接忽略
    • Failback Cluster:失败自动恢复,后台记录失败请求,定时重发
    • Forking Cluster:并行调用多个服务器,只要一个成功即返回
    • Broadcast Cluster:广播调用所有提供者,逐个调用,任意一台报错则报错
  • 服务降级

    • mock=force:return null:消费方对该服务的方法调用都直接返回null值,不发起远程调用
    • mock=fail:return null:表示消费方对该服务的方法调用在失败后,再返回null值,不抛异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值