分布式和Redis
南北雪树
有一种中午叫 16:00,我在等待着......
展开
-
Redis开发与运维总结(一)
一、持久化二、复制三、阻塞情况四、内存管理五、Redis Cluster 5.1、数据分布理论 5.2、Redis数据分区 5.3、通信流程 5.3.1、Gossip消息 5.3.2、节点选择 5.4、请求路由 5.4.1、计算槽 5.4.2、槽节...原创 2019-10-17 20:56:46 · 782 阅读 · 0 评论 -
分布式锁的几种使用方式(redis、zookeeper、数据库)
Q:一个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费synchronizedlockdb lockQ:两个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费分布式锁我们需要怎么样的分布式锁?可以保证在分布式部署的应用集群中,同一个方法在同一时间只能被一台机器上的一个线程执行。这把锁要是一把可重入锁(避免死锁)这把锁最好是一把原创 2018-01-08 19:57:10 · 32156 阅读 · 16 评论 -
Redis分布式客户端之Redisson的基本使用
这里先简单介绍下我的项目里面的基本使用,redis服务采用的是三主三从模式。1、配置文件代码如下:package com.whb.redisson.demoOne.properties;import org.redisson.config.ClusterServersConfig;import org.springframework.boot.context.properties.C原创 2018-02-02 15:54:54 · 35985 阅读 · 5 评论 -
Redis实现分布式锁全局锁—Redis客户端Redisson中分布式锁RLock实现
1. 前因 以前实现过一个Redis实现的全局锁, 虽然能用, 但是感觉很不完善, 不可重入, 参数太多等等. 最近看到了一个新的Redis客户端Redisson, 看了下源码, 发现了一个比较好的锁实现RLock, 于是记录下.2. Maven依赖 org.redisson redisson 1.2.13. 初试 Redisso转载 2018-02-02 16:10:34 · 2691 阅读 · 0 评论 -
redis锁处理并发问题
redis锁处理并发问题redis锁处理高并发问题十分常见,使用的时候常见有几种错误,和对应的解决办法,在此进行自己的总结和整理。set方式setnx方式setnx+getset方式set方式 作为redis小白,一开始能想到的使用redis加锁的方式就是set。 加锁:redis中set一个值,set(lock,1); 并发处理:其他线程必须拿到这个值,才可以往下进行,否则等待。while(je...转载 2018-02-26 20:04:30 · 8999 阅读 · 0 评论 -
redis常用功能分析
1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性 ...转载 2018-03-17 10:32:33 · 5431 阅读 · 1 评论 -
Redis持久化的两种方式(RDB和AOF)
redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。其实RDB和...原创 2018-04-18 20:33:04 · 869 阅读 · 0 评论 -
Redis基本配置详解
redis的事务处理众所周知,事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。在聊redis事务处理之前,要先和大家介绍四个redis指令,即MULTI、EXEC、DISCARD、WATCH。这四个指令构成了redis事务处理的基础。1.MULTI用来组装一个事务;2.EXEC用来执行一个事务;3.DISCARD用来取消一个事务;4.WATCH用来监视一些key,一旦这些key在事务执...转载 2018-05-08 21:10:50 · 4287 阅读 · 0 评论 -
Redis的主从用法已经主从数据同步的原理详解
Redis主从用法像MySQL一样,redis是支持主从同步的,而且也支持一主多从以及多级从结构。主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来承担。redis的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低redis的处理性能。主从架构中,可以考虑关闭主服务器的数据持久化功能,只让从服务器进行持久化,这样可以提高主服务器的处理性...原创 2018-05-05 17:35:56 · 1795 阅读 · 2 评论 -
定时任务如何在分布式情况下完美调度呢
单机定式任务调度的问题在很多应用系统中我们常常要定时执行一些任务。比如,订单系统的超时状态判断、缓存数据的定时更新、定式给用户发邮件,甚至是一些定期计算的报表等等。常见的处理方式有线程的while(true) 和sleep组合、使用Timer定时器触发任务又或者是使用quartz框架。貌似这些方法可以完美的解决方案,为什么还需要分布式呢?主要有如下两点原因:1.高可用:单机版的定式任务调度只能在一...转载 2018-05-18 16:15:21 · 1651 阅读 · 0 评论 -
一个关于Redis的主从复制的详解(让你了解你不知道的东西)
主从复制在 Redis 复制的基础上,使用和配置主从复制非常简单,能使得从 Redis 服务器(下文称 slave)能精确得复制主 Redis 服务器(下文称 master)的内容。每次当 slave 和 master 之间的连接断开时, slave 会自动重连到 master 上,并且无论这期间 master 发生了什么, slave 都将尝试让自身成为 master 的精确副本。这个系统的运行...转载 2018-06-18 16:27:12 · 1665 阅读 · 0 评论 -
Zookeeper的简单原理介绍以及分布式服务中的应用,都是干货!!!
安装和配置详解本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两个方面介绍 Zookeeper 的安装和配置。单机模式单机安装非常简单,只要获取到 Zookeeper 的压缩包并解压到某个目录如:/ho...原创 2018-08-30 11:08:03 · 473 阅读 · 0 评论 -
Zookeeper学习中的疑难问题总结,很受用!
1、ZooKeeper是什么ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所连接的z...原创 2018-10-25 16:29:30 · 2787 阅读 · 8 评论 -
Redis详解之-集群方案:高性能(Codis3.2+Redis Cluster)(五)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。了解事件订阅和持久化存储方式(RDB和AOF)。Redis集群方案:高可用(使用Redis Sentinel),官网Rdeis3.x推荐三主三从的方式,参考(https://www.cnblogs.com/zhongkaijun/p/4728334.html)。Redis集群方案:高性能,Twemproxy和Red转载 2018-01-04 09:54:13 · 5021 阅读 · 3 评论 -
Redis详解之-集群方案:高性能(使用原生Redis Cluster)(四)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。 了解事件订阅和持久化存储方式(RDB和AOF)。 Redis集群方案:高可用(使用Redis Sentinel),官网Rdeis3.x推荐三主三从的方式,参考(https://www.cnblogs.com/zhongkaijun/p/4728334.html)。 Redis集群方案:高性能,Twemproxy和Red...转载 2018-01-03 17:34:24 · 53049 阅读 · 2 评论 -
Rdeis关于主从备份数据的配置
最近学习redis,看到这个博文不错,转载了一下。在redis中,主从切换场景中,没有绝对的主和从,只有初始化的主和从,然后当主down后,从就变成主了,而主即使连接上,也是从,不会变为主1、redis-server的主备关系: 需要配置的机器,以及主备关系如下 master:10.118.36.10 slave1:10.118.36.74转载 2016-12-23 11:31:06 · 665 阅读 · 0 评论 -
Hessian 原理分析
一. 远程通讯协议的基本原理网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协议,网络 IO ,主要有 bio 、 nio 、 aio 三种方式,所有的分布式应用通讯都基于这个转载 2017-04-06 15:38:18 · 476 阅读 · 0 评论 -
Redis之集群原理和配置
redis集群原理 redis是单线程,但是一般的作为缓存使用的话,redis足够了,因为它的读写速度太快了。 官方的一个简单测试: 测试完成了50个并发执行100000个请求。 设置和获取的值是一个256字节字符串。 结果:读的速度是110000次/s,写的速度是81000次/s 在这么快的读写速度下,对于一般程序来说足够用了,但转载 2017-07-04 11:41:16 · 1913 阅读 · 8 评论 -
基于Redis实现分布式锁
背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。Redis命令介绍使用Redis实现分布式锁,有两个重要函数需要介绍转载 2017-05-31 11:52:39 · 534 阅读 · 0 评论 -
分布式事务简介2之TCC事务
在当前如火如荼的互联网浪潮下,如何应对海量数据、高并发成为大家面临的普遍难题。广大IT公司从以往的集中式网站架构,纷纷转向分布式的网站架构,随之而来的就是进行数据库拆分和应用拆分,如何在跨数据库、跨应用保证数据操作和业务操作的一致性、原子性,又成为需要解决的新的问题。从分布式事务的需求来源来看:1、跨数据库数据库拆分(水平、垂直)带来的分布式事务->保证跨库操作的原子性基于单个JVM转载 2017-08-23 14:03:20 · 645 阅读 · 0 评论 -
分布式系统介绍
分布式和集群的简单介绍转载 2017-08-21 22:35:27 · 382 阅读 · 0 评论 -
分布式事务简介
还是一样,在这里帮之前的同事大牛宣传一下,顺便分享给大家。昨天讲过了什么是分布式系统。在分布式系统中,有一个永远也绕不开的问题,那就是事务问题。随着互联网的普及,网民数量的增加,各类网站纷纷采用分布式或微服务进行系统架构,这使得分布式事务的问题越发突出。这次我们聊一聊在分布式系统中如何实现事务。什么是事务百度百科中的介绍:事务(Tra转载 2017-08-21 22:54:19 · 481 阅读 · 0 评论 -
分布式事务简介3之事务选择考虑因素
转载本文需注明出处:EAII企业架构创新研究院,违者必究。如需加入微信群参与微课堂、架构设计与讨论直播请直接回复公众号:“EAII企业架构创新研究院”。(微信号:eaworld) 这是一个开撕的话题,我经历过太多的关于分布式事务的需求:“有没有简单的方案,像使用数据库事务那样,解决分布式数据一致性的问题”。特别是微服务架构流行的今天,一次交易需要跨越多个“服务”、多个数据库来实现,转载 2017-08-23 14:37:34 · 515 阅读 · 0 评论 -
分布式之分布式事务的消息队列模式实现
前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了在订单表插入一条记录外,对应商品表的这个商品数量必须减1吧,怎么保证?!在搜索广告系统中,当用户点击某广告后,除转载 2017-09-01 16:25:23 · 487 阅读 · 0 评论 -
微服务架构的分布式事务解决方案
分布式事务是一个绕不过去的挑战!微服务架构本质上就是分布式服务化架构,微服务架构的流行,让分布式事务问题日益突出!尤其是在订单业务、资金业务等系统核心业务流程中,一定要有可靠的分布式事务解决方案来保证业务数据的可靠性和准确性。为了解决大家在实施分布式服务化架构过程中关于分布式事务问题的困扰,本文将基于支付系统真实业务中的经典场景来对“可靠消息的最终一致性方案”、“TCC两阶段型方案”和“最转载 2017-09-28 15:38:11 · 1016 阅读 · 0 评论 -
Redis详解之-事件订阅和持久化存储方式(RDB和AOF)(二)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。了解事件订阅和持久化存储方式(RDB和AOF)。接下来让我熟知一下:事件订阅和持久化存储方式(RDB和AOF)。3-4、事件功能和配置项Redis从2.X版本开始,就支持一种基于非持久化消息的、使用发布/订阅模式实现的事件通知机制。所谓基于非连接保持,是因为一旦消息订阅者由于各种异常转载 2017-12-23 17:16:55 · 1507 阅读 · 1 评论 -
Redis详解之-集群方案:高可用(使用Redis Sentinel)(三)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。了解事件订阅和持久化存储方式(RDB和AOF)。Redis集群方案:高可用(使用Redis Sentinel),官网Rdeis3.x推荐三主三从的方式,后面再介绍,参考(https://www.cnblogs.com/zhongkaijun/p/4728334.html)。接下来让我熟知一下:Redis集群转载 2018-01-03 15:30:28 · 7049 阅读 · 0 评论 -
Redis详解之-基本参数配置和使用(一)
对以前的内容进行一下总结和复习。了解Redis的基本参数配置和使用。1、综述Redis是一款内存数据库,所谓内存数据库是指它存储数据的主要介质是内存而非传统意义的磁盘,后者只用于辅助功能。Redis可以当作NoSQL数据库,缓存和消息代理来使用,目前各行业实践中使用Redis最多的场景还是把它当成缓存子系统,例如存储在线用户的登录情况,存储1小时内提交的转载 2017-12-23 16:09:16 · 1121 阅读 · 0 评论 -
分布式服务框架Dubbo的使用
参考文档:http://dubbo.io/Home-zh.htm1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调转载 2016-05-18 14:29:41 · 3443 阅读 · 0 评论