• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

dubbo和zookeeper概念简介

武飞扬头像
程治铭
帮助1

互联网项目目标:用户多,流量大并发高,海量数据,易受攻击,功能管理,变更快.
高性能,响应时间,
并发数,系统同时能处理的请求数量.
    请求数:单位时间请求数
    连接数:请求数大于等请求数
    用户数:
吞吐量,单位时间内系统能处理的请求数量.
    QPS:每秒查询数
    TPS:每秒事务数,一个页面的一次访问,只会形成一次TPS
    tps>连接数>qps
高可用:
可伸缩:
高可扩展:
安全性:
敏捷性:

集群:很多人干一样的事情
分布式:很多人干不一样的事
架构演进:单体架构,单体集群架构,垂直架构,
SOA架构(面向服务架构),微服务架构(soa一样的思想,然后升华).

dubbo:
功能作用:rpc远程服务调用,soa服务治理方案.

dubbo序列化:两个服务之间的调用,实体需要实现序列化.
dubbo地址缓存:注册中心挂了,会从本地缓存调用,当注册中心地址变化,
会存在notefy通知.
dubbo超时和重试机制:dubbo service注解之后添加timeout,retries.
dubbo多版本:灰度发布,dubbo service注解之后添加version,控制走哪个版本
dubbo负载均衡:reference注解之后添加loadbance:
        randow:按权重随机概率(默认)
        roundrobin:按权重轮询
        leastactive:最少活跃调用度
        consistenhash:一致性hash(通常根据id来算)
集群容错:reference注解之后添加cluster
失败重试:fallover,通常用于读的操作.
        快速失败:failfast,通常用于写操作
        失败安全:failsafe,出现异常直接忽略,返回空,用于写日志
        失败自动恢复:failback,必须要成功,如果失败,一会还会再重试
        并行调用多个服务:forking,只要有一个成功就返回,耗费性能
        广播调用所有提供者:boardcast,任意一台报错则报错,要么全部成功要么全部失败
dubbo服务降级:reference注解之后添加mork,失败会返回null


zookeeper:
功能作用:配置中心,集群管理,分布式锁(队列管理)
操作命令
:持久化节点,持久化顺序节点,临时节点,临时顺序化节点
客户端api:curator封装了操作zookeeper命令的api.
zookeeper选举:首次选举按照Serverid越大的选择,宕机之后按照逻辑时钟
来选择,注意的是都必须保证投票结果过半才能启动集群.
        Serverid:数值越大,权重越大.
        Zxid(数据ID):数值越大,权重越大.
        逻辑时钟(数值比较):投选次数(记录每轮投选的次数,叠加).
zookeeper分布式锁原理:创建临时顺序节点.
        临时是防止服务宕机之后,节点没有释放.
        顺序是保证获取的节点选择最小节点来比较是否获取到锁,同时除了首节点,
每个节点都会监听比他小一个数值的节点,来知道锁是否已释放.
集群角色:
        leader:(参与事务请求),
        follower:(查询请求,事务请求转发给leader),并参与选举投票
        observer:(查询请求,事务请求转发给leader,分担follower压力),不参与选举投票
        在要变成观察者的机器的zk的配置文件
加:peerType=observer 引入观察者,从性能角度来看,是好东西。
但是如果从集群高可用的角度来看,要 慎用。
(5台机器,2个观察者,1个follow挂掉,此时不满足过半统一机制,
选不出leader,集群无法启动)

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcbjjf
系列文章
更多 icon
同类精品
更多 icon
继续加载