自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (14)
  • 收藏
  • 关注

转载 不停机双写迁移方案

这个是我们常用的一种迁移方案,比较靠谱一些,不用停机,不用看北京凌晨4点的风景简单来说,就是在线上系统里面,之前所有写库的地方,增删改操作,都除了对老库增删改,都加上对新库的增删改,这就是所谓双写,同时写俩库,老库和新库。然后系统部署之后,新库数据差太远,用之前说的导数工具,跑起来读老库数据写新库,写的时候要根据gmt_modified这类字段判断这条数据最后修...

2020-01-31 21:55:17 2893 1

转载 数据库停机迁移方案

我先给你说一个最low的方案,就是很简单,大家伙儿凌晨12点开始运维,网站或者app挂个公告,说0点到早上6点进行运维,无法访问。。。。。。接着到0点,停机,系统挺掉,没有流量写入了,此时老的单库单表数据库静止了。然后你之前得写好一个导数的一次性工具,此时直接跑起来,然后将单库单表的数据哗哗哗读出来,写到分库分表里面去。导数完了之后,就ok了,修改系统的数...

2020-01-31 21:54:17 527

转载 为什么需要分库分表

1 为什么要分库分表 1.1 数据库性能瓶颈的出现    对于应用来说,如果数据库性能出现问题,要么是无法获取连接,是因为在高并发的情况下连接数不够了。要么是操作数据变慢,数据库处理数据的效率除了问题。要么是存储出现问题,比如单机存储的数据量太大了,存储的问题也可能会导致性能的问题。归根结底都是受到了硬件的限制,比如 CPU,内存,磁盘,网络等等。但是我们优化肯定不可能直接从扩展硬...

2020-01-31 21:37:52 1056

转载 redis 的CAS并发竞争 zookeeper的分布式锁解决

面试题redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?面试官心理分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。而且 redis 自己就有天然解决这个问题的 CAS 类的乐观锁...

2020-01-30 11:50:26 157

转载 如何保证数据库与缓存双写时的数据一致性

最经典的缓存+数据库读写的模式:cache aside patternCache Aside Pattern  读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应  更新的时候,先删除缓存,然后再更新数据库 (很多地方都说应该先更新数据库,再删缓存)为什么是删除缓存,而不是更新缓存呢?  原因很简单,很多时候,复杂点的缓存的场景,因...

2020-01-30 11:06:28 210

转载 分布式事务 解决方案

1 面试题分布式事务了解吗?你们如何解决分布式事务问题的?2 考点分析只要聊到做了分布式系统,必问分布式事务,若你对分布式事务一无所知的话,确实很坑,起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么。现在面试,分布式系统成了标配,而分布式系统带来的分布式事务也成了标配.你做系统肯定要用事务,那你用事务的话,分布式系统之后肯定要用分布式事务.先不说你搞过没有,起...

2020-01-16 16:48:08 169

转载 彻底弄懂session,cookie,token

简述我在写之前看了很多篇session,cookie的文章,有的人说先有了cookie,后有了session。也有人说先有session,后有cookie。感觉都没有讲的很清楚,泛泛而谈。希望本篇文章对大家有所帮助注:本文需要读者有cookie,session,token的相关基础知识。http是一个无状态协议什么是无状态呢?就是说这一次请求和上一次请求是没有任何关系的,互不认识的,...

2020-01-16 16:00:45 132

转载 redis分布式session如何实现?

Session简介浏览器有个cookie,在一段时间内这个cookie都存在,然后每次发请求过来都带上一个特殊的jsessionid cookie,就根据这个东西,在服务端可以维护一个对应的session域,里面可以放点儿数据。一般只要你没关掉浏览器,cookie还在,那么对应的那个session就在,但是cookie没了,session就没了。常见于什么购物车之类的东西,还有登录状...

2020-01-16 15:38:18 573

转载 Redis与Zookeeper实现分布式锁的区别

Redis实现分布式锁  1.根据lockKey区进行setnx(set not exist,如果key值为空,则正常设置,返回1,否则不会进行设置并返回0)操作,如果设置成功,表示已经获得锁,否则并没有获取锁。  2.如果没有获得锁,去Redis上拿到该key对应的值,在该key上我们存储一个时间戳(用毫秒表示,t1),为了避免死锁以及其他客户端占用该锁超过一定时间(5秒),使用该客户端...

2020-01-16 11:53:16 377

转载 Redis技能—Redis的集群:集群的分片

分片(partitioning)就是将你的数据拆分到多个 Redis 实例的过程,这样每个实例将只包含所有键的子集。分片能做什么Redis 的分片承担着两个主要目标:允许使用很多电脑的内存总和来支持更大的数据库。没有分片,你就被局限于单机能支持的内存容量。允许伸缩计算能力到多核或多服务器,伸缩网络带宽到多服务器或多网络适配器。分片方式(多种)有很多不同的分片标准(criteria...

2020-01-13 19:40:32 213

原创 redis数据丢失的情况

1、两种数据丢失的情况2、解决异步复制和脑裂导致的数据丢失------------------------------------------------------------------1、两种数据丢失的情况主备切换的过程,可能会导致数据丢失(1)异步复制导致的数据丢失因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave,ma...

2020-01-13 19:40:23 639

转载 zookeeper都有哪些使用场景

(1)分布式协调这个其实是zk很经典的一个用法,简单来说,就好比,你A系统发送个请求到mq,然后B系统消费之后处理了。那A系统如何知道B系统的处理结果?用zk就可以实现分布式系统之间的协调工作。A系统发送请求之后可以在zk上对某个节点的值注册个监听器,一旦B系统处理完了就修改zk那个节点的值,A立马就可以收到通知,完美解决。(2)分布式锁对某一个数据连续发出两个修...

2020-01-13 19:15:32 273

转载 什么是redis集群脑裂及解决方案

什么是redis的集群脑裂?redis的集群脑裂是指因为网络问题,导致redis master节点跟redis slave节点和sentinel集群处于不同的网络分区,此时因为sentinel集群无法感知到master的存在,所以将slave节点提升为master节点。此时存在两个不同的master节点,就像一个大脑分裂成了两个。集群脑裂问题中,如果客户端还在基于原来的master节点继续...

2020-01-13 12:00:07 1303 1

原创 使用zookeeper解决reids并发问题

1、面试题redis的并发竞争问题是什么?如何解决这个问题?了解Redis事务的CAS方案吗?2、面试官心里分析这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了。而且redis自己就有天然解决这个问题的CAS类的乐观锁方...

2020-01-11 13:26:07 269

转载 如何保证redis缓存与数据库双写时的数据一致性

最经典的缓存+数据库读写的模式,cache aside pattern1、Cache Aside Pattern(1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应(2)更新的时候,先删除缓存,然后再更新数据库2、为什么是删除缓存,而不是更新缓存呢?非高并发场景数据不一致问题:先修改数据库,再删除缓存。如果缓存...

2020-01-11 12:04:38 310

转载 什么是 redis 的雪崩和穿透?redis 崩溃之后会怎么样?

分析:其实这是问到缓存必问的,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命性的问题,所以面试官一定会问你。剖析:缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,缓存中查到不到数据,就会去查数据库,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住...

2020-01-11 11:30:50 178

原创 redis 之RDB和AOF

1、RDB和AOF两种持久化机制的介绍RDB持久化机制,对redis中的数据执行周期性的持久化AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的时候,可以通过回放AOF日志中的写入指令来重新构建整个数据集如果我们想要redis仅仅作为纯内存的缓存来用,那么可以禁止RDB和AOF所有的持久化机制通过RDB或AOF,都可以将...

2020-01-11 10:45:39 113

原创 redis不可用,高可用

.redis基于哨兵的高可用性.

2020-01-09 18:02:56 180

原创 系统处于不可用是什么意思

架构上,高可用性,99.99%的高可用性讲的学术,99.99%,公式,系统可用的时间 / 系统故障的时间,365天,在365天 * 99.99%的时间内,你的系统都是可以哗哗对外提供服务的,那就是高可用性,99.99%系统可用的时间 / 总的时间 = 高可用性,不可用原因...

2020-01-09 17:58:37 833

原创 redis主从复制详细

1、复制的完整流程(1)slave node启动,仅仅保存master node的信息,包括master node的host和ip,但是复制流程没开始master host和ip是从哪儿来的,redis.conf里面的slaveof配置的(2)slave node内部有个定时任务,每秒检查是否有新的master node要连接和复制,如果发现,就跟master ...

2020-01-09 17:56:33 63

原创 redis主从复制

1、主从架构的核心原理当启动一个slave node的时候,它会发送一个PSYNC命令给master node如果这是slave node重新连接master node,那么master node仅仅会复制给slave部分缺少的数据; 否则如果是slave node第一次连接master node,那么会触发一次full resynchronization开...

2020-01-09 17:40:24 87

转载 高频缓存面试题解析 redis面试相关

https://blog.csdn.net/qq_36625757/article/details/90384056

2020-01-09 16:16:50 186

转载 redis的单线程为什么还这么快

redis的单线程模型redis 内部使用文件事件处理器file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。它采用 IO 多路复用机制同时监听多个 socket,根据 socket 上的事件来选择对应的事件处理器进行处理。文件事件处理器的结构包含 4 个部分:多个 socket IO 多路复用程序 文件事件分派器 事件处理器(连...

2020-01-09 15:53:09 138

原创 memcache与redis的主要区别

Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。集群模式:me...

2020-01-09 15:32:41 75

转载 高可用高性能高并发量解决方案汇总整理

一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的ht...

2020-01-09 11:36:57 260

转载 互联网三高架构之高并发、高性能、高可用的理解

互联网三高架构:高并发、高性能、高可用,简称三高(3H)互联网应用系统开发肯定经常会看到高并发和高性能这两个词,可谓是耳熟能详,而具体的含义和关系真的如你所想的,真正的理解了吗?先来看一个例子:一个蓄水池,是1m*1m*1m=1立方米大小,有一个出水口,出水口每秒钟流出0.1立方米,那么这个蓄水池的并发量是1立方米,出水速度是0.1立方米/秒。如果增加一个出水口,都是每秒钟流出0....

2020-01-09 11:31:37 1149

转载 在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果? redis

1、面试题在项目中缓存是如何使用的?缓存如果使用不当会造成什么后果?2、面试官心里分析这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬只要问到缓存,上来第一个问题,肯定能是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对你用缓存这个东西背后,有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解...

2020-01-09 11:30:18 167

转载 mqsql 垂直拆分、读写分离、水平拆分(分库分表)详解

互联网当下,数据库的拆分过程基本遵循的顺序是:垂直拆分、读写分离、水平拆分(也称之为分库分表)。一、垂直拆分1、什么是垂直拆分?指的是将一个包含了很多表的数据库,根据表的功能的不同,拆分为多个小的数据库,每个库中包含部分表。比如:电商系统采用的库为db_eshop,根据用户功能和产品功能,可以拆分为用户库db_user和产品库db_product。2、什么时候使用垂直拆分...

2020-01-08 20:20:22 252

转载 实现数据库水平切分的两个思路

引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库:可以降低单台机器的负载,同时最大限度的降低了宕机造成的损失; 负载均衡策略:可以降低单台机器的访...

2020-01-08 19:47:40 110

转载 面试题:es 在数据量很大时(数十亿级别)如何提高查询效率啊?

面试题es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?面试官心理分析这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候,是5~10s,后面反而就快了,可能就几百毫秒。你就很懵,每个用户第一次访问...

2020-01-08 19:10:06 541

转载 es 倒排索引

https://blog.csdn.net/qq_41864967/article/details/100107808在搜索引擎中,每个文档都有一个对应的文档 ID,文档内容被表示为一系列关键词的集合。例如,文档 1 经过分词,提取了 20 个关键词,每个关键词都会记录它在文档中出现的次数和出现位置。那么,倒排索引就是关键词到文档 ID 的映射,每个关键词都对应着一系...

2020-01-08 18:51:31 176

原创 es写入数据的工作原理是什么啊?es查询数据的工作原理是什么啊?

(1)es写数据过程1)客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)2)coordinating node,对document进行路由,将请求转发给对应的node(有primary shard)3)实际的node上的primary shard处理请求,然后将数据同步到replica node4)coordi...

2020-01-08 18:40:19 386

原创 kafka介绍 MQ

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对T...

2020-01-08 00:33:34 313

原创 MQ 如何保证消息的顺序性

如何保证消息的顺序性把所有数据按顺序写到一个queue中。---------------------------------------------------->kafka原理和rabbit类似,要把需要按顺处理数据写到一个patition中,同时,如果想加快处理消息,可以胜消费者多线程去并发处理,比如下面的多线程内...

2020-01-07 23:46:49 1986

原创 如何保证MQ重复消费的幂等性

↵1生成ID,写入MYSQL前先检查ID是否存在。2也是生成ID,没有消费过,就处理,然后这个id写redis。如果消费过了,那就别处理了,保证别重复处理相同的消息即可。3使用mysql的唯一键,如果有重复的,因为有唯一约束,就会报错不会插入。...

2020-01-07 17:35:03 299

原创 如果rabbitmq服务上数据太多怎么办

当消息不停往MQ服务器写入数据时,消费者可能消费不及时导致MQ服务器数据过多导致爆满。怎么解决了?1 增加硬件,比如更大的磁盘2 增加更多的消费者尽快把消息消费掉...

2020-01-07 16:30:06 1280

原创 kafka、activemq、rabbitmq、rocketmq 对比

小公司用rabbiMQ,比较稳定支持,活跃社区,有后台管理。唯一不好的是erlang语言开发。 大公司用rocketMQ,吞吐量更大,用的java,如果官方不维护了,自己公司有能力维护。 大数据领域的实时计算,日志采集等场景,用kafka,kafa是业内标准,社区活跃度高。 特性 ActiveMQ RabbitMQ ...

2020-01-07 11:19:42 119

原创 MQ 使用的三大场景

1解藕一个系统或者一个模块,调用了多个系统或者模块,互相之间的调用很复杂,维护起来很麻烦。但是其实这个调用是不需要直接同步调用接口的,这时可以考虑使用MQ异步化解耦比如A系统要给BCDEF多个系统发消息,使用MQ后,将消息发到消息服务器,BCDEF想用就去调取,A系统就与各系统没了直接的关系,这就能达到解藕的目的2异步比如一个操作,需要ABCDE加一起来操作完成,但是可以让...

2020-01-07 11:04:01 934

转载 string类为啥是final的

一、理解final望文生义,final意为“最终的,最后的”,我理解为“不能被改变的”,它可以修饰类、变量和方法。所以我是否可以理解为被它所修饰的类、变量和方法都不能被改变呢?答案是”是“,因为有以下约束条件的存在:1、final修饰类被final修饰的类不能被继承,即它不能拥有自己的子类,否在会在编译期间报错。且看下面的例子:第一步:创建一个用final修饰的父类Father...

2020-01-07 09:43:32 933 1

原创 mysql创建测试数据 --mysqlimport数据文件的导入,速度快

centos6.5 mysql5.6生成数据几秒种,导入数据半分钟左右。这速度很快。测试时在win10下没成功,后来改用centos6.5下的mysql.先用java写个生成数据的程序,比如生成1000W的测试数据,对应mysql制表符的数据,import java.io.BufferedWriter;import java.io.File;import ...

2020-01-06 11:49:20 688

直播管理工具RTSP RTMP

直播管理工具RTSP RTMP

2024-09-15

HslCommunication读写西门子例子

HslCommunication读写西门子例子,c#

2023-11-12

spire.pdf-9.7.0.jar 解析PDF用

spire.pdf-9.7.0.jar 解析PDF用最新怎么2023年的

2023-08-24

spire.pdf-9.6.2.jar

spire.pdf-9.6.2.jar 解析PDF

2023-08-24

swagger例子UI还可以

<!-- 比较美观的swagger-ui包--> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.6</version> </dependency>

2022-07-23

javaweb springboot 文件模板下载,数据导出为excel,excel数据导入 poi方式

javaweb springboot 文件模板下载,数据导出,数据导入 poi方式 1. excel空模板 下载 2.导入excel文件 3.导出为excel

2022-07-23

最新ELK日志方案三大件安装与使用 -es logstash kibana

2021.9.4时最新版本 elasticsearch-7.14.0 logstash-7.14.0 kibana-7.14.0

2021-09-04

keycloak-9.0.2 - win10启动成功.zip

keycloak9.0.2 mysql8.0.16 --win10环境下 测试成功 https://blog.csdn.net/liuming690452074/article/details/107753232

2020-08-02

grails-4.0.4.zip

grails-4.0.4.zip

2020-07-21

grails-2.3.6.zip

grails-2.3.6

2020-07-21

9.0.2 keycloak集成到springboot中例子

9.0.2 keycloak集成到springboot,数据库用的是mysql8.0.19

2020-03-31

秒杀_例子_redis rabbitmq.rar

秒杀例子 redis+rabbitmq秒杀例子 redis+rabbitmq秒杀例子 redis+rabbitmq秒杀例子 redis+rabbitmq 1 分类异常提示 2 token登录 3 页面缓存,写到redis 4 js等缓存

2020-01-03

工资对比是否一致.xlsx

excel比对身份证,将两个月的工资合并,关键看第三个sheet的公式: =VLOOKUP(A2,'2月工资'!$A$2:$B$3560,2,0)

2019-06-20

OKEX工具类jar 20190529 okex-java-sdk-api.jar

OKEX工具类jar 20190529 okex-java-sdk-api.jar OKEX工具类jar 20190529 okex-java-sdk-api.jar

2019-05-29

IDEA热部署修改mybatis映射文件工具 jr-ide-intellij-nightly.zip

IDEA热部署修改mybatis映射文件工具 jr-ide-intellij-nightly.zip

2019-05-16

2003到2018年所有福田彩票数据mysql

2003到2018年所有福田彩票数据mysql,2300多条 2003到2018年所有福田彩票数据mysql

2018-12-17

行政区划数据库_with+经纬度-省市区-邮编-区号-拼音-简称

行政区划数据库_with+经纬度-省市区-邮编-区号-拼音-简称 ,较新,至少有深圳市最新的区

2018-07-31

空空如也

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

TA关注的人

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