随笔分类 -  22-Q3

摘要:what: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。 错误率越低: - 位数组越长,控件占用较大; - 无偏hash函数越多,计算耗时较长; 优点: - 时间复杂度低,增加和查 阅读全文
posted @ 2022-09-16 23:29 修心而结网 阅读(47) 评论(0) 推荐(0)
摘要:what: GTID (Global Transaction IDentifier) 是全局事务标识。它具有全局唯一性,一个事务对应一个GTID。唯一性不仅限于主服务器,GTID在所有的从服务器上也是唯一的。一个GTID在一个服务器上只执行一次,从而避免重复执行导致数据混乱或主从不一致。 GTID在 阅读全文
posted @ 2022-09-16 23:20 修心而结网 阅读(465) 评论(0) 推荐(0)
摘要:what: object: 可以理解为“副本”; operation: 操作接口,由客户端调用,分为两种,读操作query和写操作update; query: 查询操作,仅查询本地副本; update: 更新操作,先尝试进行本地副本更新,若更新成功则将本地更新同步至远端副本; merge: upda 阅读全文
posted @ 2022-09-13 22:42 修心而结网 阅读(333) 评论(0) 推荐(0)
摘要:what: 异地多活: 简单来说,就是在不同地域建立数据中心,每个数据中心在日常使用中都需要正常接入业务流量,做业务支撑。 异地多活,也属于分布式架构的系统。也绕不开CAP(参考:CAP详解) 异地多活优势: 1、可用性更强:(如下图)地域 1 机房故障,甚至地域 2 机房也故障,只要地域 3 的机 阅读全文
posted @ 2022-09-01 23:29 修心而结网 阅读(1439) 评论(0) 推荐(0)
摘要:what: 分布式架构的演变: 阶段1:单体应用架构:也就是我们在开始使用的一个Tomcat一个服务器做了所有的事情 阶段2:应用服务器和数据库服务器分离 阶段3:应用服务器集群 阶段4:应用服务器负载用户 阶段5:数据库读写分离 阶段6:添加搜索引擎减少读库压力 阶段7:添加缓存机制缓解数据库压力 阅读全文
posted @ 2022-09-01 22:48 修心而结网 阅读(224) 评论(0) 推荐(0)
摘要:what: redis高可用: 1、数据尽量不丢失; 2、尽可能的提供服务; 栗子:AOF 和 RDB 保证了数据持久化尽量不丢失; 主从复制就是增加副本,一份数据保存到多个实例上。即使有一个实例宕机,其他实例依然可以持续服务; 主从: 复制——为单向的,即:只能从主复制到从; 读写指责——读:主从 阅读全文
posted @ 2022-08-28 11:18 修心而结网 阅读(1138) 评论(0) 推荐(0)
摘要:what: 常用的模式: 1、Redis 单副本 2、Redis 多副本(主从) 3、Redis Sentinel(哨兵) 4、Redis Cluster 5、Redis 自研 Redis 单副本: 采用单个Redis 节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,适用于数据可 阅读全文
posted @ 2022-08-23 10:12 修心而结网 阅读(948) 评论(0) 推荐(0)
摘要:what: redis是事件驱动的,分为两类事件:文件事件和时间事件。 文件事件(file event): Redis服务器通过套接字与客户端(或者其他Redis服务器)进行连接,而文件事件就是服务器对套接字操作的抽象。 服务器与客户端(或者其他服务器)的通信会产生相应的文件事件,而服务器则通过监听 阅读全文
posted @ 2022-08-20 23:05 修心而结网 阅读(154) 评论(0) 推荐(0)
摘要:why: redis中的数据可以有一个过期时间,比如验证码、token等。当数据过期限后,是应该要被删除。 redis一般采用:惰性删除 + 定期删除 的策略 what: 定时删除: 当放入数据后,设置一个定时器,当定时器读秒完毕后,将对应的数据从dict中删除(用时间换空间)。 优点: 内存友好, 阅读全文
posted @ 2022-08-20 10:18 修心而结网 阅读(242) 评论(0) 推荐(0)
摘要:题目: 给定一个节点数为n的无序单链表,对其按升序排序。 数据范围:0<n≤1000000<n≤100000 要求:时间复杂度 O(nlogn)O(nlogn) 迭代实现: /** * struct ListNode { * int val; * struct ListNode *next; * } 阅读全文
posted @ 2022-08-06 00:40 修心而结网 阅读(51) 评论(0) 推荐(0)
摘要:what: redis服务器执行的大体流程: 1、client向服务器发送请求命令; 2、redis服务器从请求中读取命令,并交给“请求处理器”去执行; 大体分为:a、请求保存到输入缓冲区里面;b、解析协议,提取出命令参数,保存到客户端状态argv和argc属性;c、调用命令执行器,执行客户端请求命 阅读全文
posted @ 2022-08-05 16:51 修心而结网 阅读(275) 评论(0) 推荐(0)
摘要:what: serverCron: serverCron函数是管理Redis服务器资源的,是Redis良好运行的保证。 serverCron和RedisServer的关系: 它们的关系就是:serverCron函数是通过更新RedisServer对象的的变量来进行管理Redis服务器的资源。 red 阅读全文
posted @ 2022-08-05 16:16 修心而结网 阅读(268) 评论(0) 推荐(0)
摘要:what: 状态类型:Managed State和Raw State Flink有两种基本类型的状态:托管状态(Managed State)和原生状态(Raw State)。从名称中也能读出两者的区别:Managed State是由Flink管理的,Flink帮忙存储、恢复和优化;Raw State 阅读全文
posted @ 2022-08-02 15:45 修心而结网 阅读(981) 评论(0) 推荐(0)
摘要:what: 为什么要用消息队列? 解耦:允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 可恢复性:系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。 缓冲:有助于控制和优化数据 阅读全文
posted @ 2022-07-23 16:59 修心而结网 阅读(27) 评论(0) 推荐(0)
摘要:what: select for update 是为了在查询时,避免其他用户以该表进行插入、修改或删除等操作,造成表的不一致性。 SELECT…FOR UPDATE 语句的语法如下: SELECT … FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP L 阅读全文
posted @ 2022-07-23 16:13 修心而结网 阅读(548) 评论(0) 推荐(0)