自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嗯哼的博客

人生无非是笑笑别人或被别人笑笑而已

  • 博客(19)
  • 资源 (6)
  • 收藏
  • 关注

转载 Dubbo服务降级

dubbo降级服务使用dubbo在进行服务调用时,可能由于各种原因(服务器宕机/网络超时/并发数太高等),调用中就会出现RpcException,调用失败。服务降级就是指在由于非业务异常导致的服务不可用时(上面举得例子),可以返回默认值,避免异常影响主业务的处理。官方 dubbo 3.0-给出的服务降级RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class)

2021-08-31 17:49:12 1347

转载 Dubbo负载均衡算法

本文摘自dubbo官网---dubbo2.7版本连接:https://dubbo.apache.org/zh/docs/v2.7/dev/source/loadbalance/1.简介LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。负载均衡可分为软件负载均衡和硬

2021-08-30 17:17:53 643

转载 Dubbo支持的协议

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。下面我们就针对Dubbo的每种协议详解讲解,以便我们在实际应用中能够正确取舍。1、dubbo 协议 (默认)1、dubbo 缺省协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况2、不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。缺省协议

2021-08-27 17:19:20 425

转载 Zookeeper Zap协议

什么是zap协议?Zab协议是为分布式协调服务Zookeeper专门设计的一种支持崩溃恢复的原子广播协议。在zookeeper中,主要依赖ZAB协议来实现分布式数据一致性,基于该协议,zk实现了一种主备模型(即Leader和Follower模型)的系统架构来保证集群中各个副本之间数据的一致性。zap协议内容?Zab 协议包括两种基本的模式:崩溃恢复和消息广播协议过程当整个集群启动过程中,或者当 Leader 服务器出现网络中弄...

2021-08-26 17:03:02 867

转载 Zookeeper集群间消息通信

ZooKeeper的消息类型大体上可以分为四类,分别是:数据同步型、服务器初始化型、请求处理型和会话管理型。数据同步型 数据同步型消息是指在Learner和Leader服务器进行数据同步的时候,网络通信所用到的消息,通常有DIFF、TRUNC、SNAP和UPTODATE四种。下表中分别对这四种消息类型进行了详细介绍。消息类型 发送方→接收方 说明 DIFF, 13 Leader→Learner 用于通知Learner服务器、Leader即将与其进行“D...

2021-08-26 13:56:54 442

原创 ZooKeeper节点数据操作流程及zookeeper的应用场景

zk节点数据操作流程:首先回顾一下Zookeeper中Leader和Follower的作用:Leader:负责进行投票的发起和决议,分布式读写,更新请求转发;Follower:负责接收客户端请求并向客户端返回结果,在选举Leader过程中参与投票(选举机制);一、写数据流程以3台服务器的Zookeeper集群为例,一个Leader,两个Follower即server1和server2(1)Client向Zookeeper的server1发送一个写请求,客户...

2021-08-26 11:21:35 1284

转载 zookeeper实现负载均衡

解析:首先会员服务在注册中心上注册,这个时候就在zookeeper上生成几个临时节点,节点名是/member/8080和/member/8081,值是127.0.0.1:8080,127.0.0.1:8081(zookeeeper每个节点都有节点名和节点值),/member是会员服务的入口,这个时候订单服务调用会员服务,使用本地负载均衡策略,如下所示:使用Zookeeper实现负载均衡原理思路使用Zookeeper实现负载均衡原理,服务器端将启动的服务注册到,zk注册中心上,采用临..

2021-08-26 10:03:51 3594

转载 watcher事件

zookeeper主要是为了统一分布式系统中各个节点的工作状态,在资源冲突的情况下协调提供节点资源抢占,提供给每个节点了解整个集群所处状态的途径。这一切的实现都依赖于zookeeper中的事件监听和通知机制。watcher源码(jdk1.8)watcher接口中有一个Event接口,包含KeeperState和EventType两个枚举类,分别代表了通知状态和事件类型,同时定义了事件的回调方法:process(WatchedEvent event)。/* * Licensed to t.

2021-08-18 17:47:06 386

原创 zookeeper分布式锁

分布式锁介绍分布式锁主要用于在分布式环境中保护跨进程、跨主机、跨网络的共享资源实现互斥访问,以达到保证数据的一致性。本文主要谈的是Zookeeper的分布式锁,在此之前先了解下基于数据库和redis的分布式锁的实现。基于数据库1. 基于数据库表最简单的方式可能就是直接创建一张锁表,当我们要锁住某个方法或资源时,我们就在该表中增加一条记录,想要释放锁的时候就删除这条记录。给某字段添加唯一性约束,如果有多个请求同时提交到数据库的话,数据库会保证只有一个操作可以成功,那么我...

2021-08-16 15:35:51 429

原创 zookeeper环境搭建

windows安装zookeeper 下载地址为:https://zookeeper.apache.org/releases.html。zookeeper个人已下载好的地址为:https://download.csdn.net/download/qq_35044419/21056429以上两个包一样,zip是我用上面的gz解压压缩而成的。在下载好文件之后,安装之前,先确定windows是否已经安装好了jdk,因为zookeeper服务器是java编写的,所以需要运行在JVM...

2021-08-13 10:29:05 186

转载 Zookeeper Leader选举算法及选举过程

zookeeper 的 leader 选举存在两个阶段,一个是服务器启动时 leader 选举,另一个是运行过程中 leader 服务器宕机。在分析选举原理前,先介绍几个重要的参数。服务器 ID(myid):编号越大在选举算法中权重越大 事务 ID(zxid):值越大说明数据越新,权重越大 逻辑时钟(epoch-logicalclock):同一轮投票过程中的逻辑时钟值是相同的,每投完一次值会增加选举状态:LOOKING: 竞选状态 FOLLOWING: 随从状态,同步 leader 状态,参

2021-08-12 10:23:16 971

原创 zookeeper数据结构及基本命令

数据结构Zookeeper的数据节点称为ZNode,ZNode是Zookeeper中数据的最小单元,每个zNode名称是唯一的(或者说路径唯一),每个ZNode都可以保存数据,同时还可以挂载子节点,因此构成了一个层次化的命名空间,称为树。在Zookeeper中,事务是指能够改变Zookeeper服务器状态的操作,一般包括节点创建与删除,数据节点内容更新和客户端会话创建与失效。对于每个事务请求,Zookeeper是如何保证事务的顺序一致性?Zookeeper都会为其分配一个全局唯一的事务

2021-08-11 17:46:08 478

转载 zookeeper工作原理、服务器角色、工作状态?

zookeeper服务器角色服务器角色:角色 描述 领导者(leader) 负责进行投票的发起和决议,更新系统状态 学习者 (learner) 跟随者 (follower) 接收客户端请求并向客户端返回处理结果,参与选主过程中的投票 观察者 (obServer) obServer可独立处理非事务请求,事务请求要转发给leader处理,不参与任何投票,只同步leader状态 客户端(c

2021-08-11 16:06:33 452

转载 CyclicBarrier

简介CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。注意比较CountDownLatch和CyclicBarrier:(01) CountDownLatch的作用是允许1或N个线程等待其他线程完成执行;而CyclicBarrier则是允许N个线程相互等待。(02) CountDownLatch的计数器无法被重置;Cycl

2021-08-04 10:53:03 154

转载 CountDownLatch

介绍一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法会使初始化的计数减一,所以在当前计数到达零之前,await()方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。一个线程(或者多个), 等待另外N个线程完成某个事情之后才能执行CountDownLatch类的方法源码:packag..

2021-08-03 15:43:42 447

转载 Canal 数据监控 同步缓存数据

canal: 阿里旗下的开源的,java语言的开发作用:用来监控数据库数据的变化,从而获取新增数据或者修改的数据;原理:Canal伪装成mysql的备份机,当mysql数据发生过改变,就会把binary log日志发送给从数据库来保证数据的一致性,然后Canal就可以监控数据的改变实现:mysql需要开启binlog模式数据监控微服务:1.搭建maven工程导入:starter-canalspring-rabbit 依赖 <dependency> ..

2021-08-03 10:24:21 384

转载 使用canal 监听mysql binlog获取增量数据

配置mysqlsudo vi /etc/my.cnf[mysqld]log-bin=/var/lib/mysql/mysql-bin #开启日志监控binlog-format=ROW #监控模式为ROWserver_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复创建canal用户添加canal用户,修改权限CREATE USER canal .

2021-08-03 09:38:41 859

转载 Redis缓存一致性

一、概述  Redis缓存机制的一致性就是说数据库的数据要跟Redis中的数据保持一致。二、实现方式  方式一:先更新数据库,再更新缓存场景  方式二:先更新缓存,再更新数据库场景  方式三:先删除缓存,再更新数据库的场景  方式四:先更新数据库,再删除缓存场景  方式五:最佳实现,数据异步同步三、详解  方式一:  当有两个线程A、B,同时对一条数据进行操作,一开始数据库和redis的数据都为tony,当线程A去修改数据库,将tony改为allen,然后线程A在修改

2021-08-02 16:38:06 115

转载 redis限流的3种实现方式

Redis限流的实现方式有3种,分别是:1、基于Redis的setnx的操作,给指定的key设置了过期实践;2、基于Redis的数据结构zset,将请求打造成一个zset数组;3、基于Redis的令牌桶算法,输出速率大于输入速率,就要限流。第一种:基于Redis的setnx的操作我们在使用Redis的分布式锁的时候,大家都知道是依靠了setnx的指令,在CAS(Compare and swap)的操作的时候,同时给指定的key设置了过期实践(expire),我们在限流的主要目的就是为了在单位时间.

2021-08-02 10:51:56 276

202109091812.zip

keepalived中文文档

2021-09-09

nginx-zip-tar.gz.zip

nginx安装包

2021-09-03

aa-nginx.zip

nginx安装包

2021-08-17

apache-zookeeper-3.6.3.zip

zookeeper linux 安装包

2021-08-13

apache-zookeeper-3.7.0-bin.zip

zookeeper windows版本

2021-08-13

ZooInspector.zip

zookeeper可视化工具

2021-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除