06 2021 档案

摘要:为什么要分库分表? 垂直分库的作用,表都在一个库中,一个服务能承担的请求压力是有限的,可以垂直分库来提高数据库的服务能力 水平分库的作用,单个库中的表数据量减少 提高查询效率,容灾效果一个库不能用不会影响到所有的用户 垂直分表的作用,单个表的页数量减少,提高查询效率 将承受并发的能力提升 将大数据了 阅读全文
posted @ 2021-06-22 22:06 rudynan 阅读(202) 评论(0) 推荐(0) 编辑
摘要:1. 系统拆分 把系统拆分成多个子系统,每个系统连接一个数据库 2. 缓存 大部分场景都是读多写少,大量读走缓存,写走数据库 3. MQ 写压力过大的时候,让写请求积压在mq中,缓解数据库压力 4. 分库分表 当数据库处理能力不够时 处理不过来mq的数据了 5. 数据库读写分离 读请求压力过大时使用 阅读全文
posted @ 2021-06-21 10:04 rudynan 阅读(161) 评论(0) 推荐(0) 编辑
摘要:为什么要把系统分成分布式? 服务独立自治 dubbo的简单流程 provider注册服务到注册中心 consumer订阅服务从注册中心,consumer从注册中心获取对应服务的ip+端口号 通过代理负载均衡调用响应的接口 consumer和provider异步通知检测中心 注册中心挂掉之后还能提供服 阅读全文
posted @ 2021-06-18 10:57 rudynan 阅读(116) 评论(0) 推荐(0) 编辑
摘要:redis备份 aof重写是根据redis的现存数据来重写的 rdb与aof优缺点? rdb优点 写入影响最小 恢复更快 适合冷备份 缺点: 容易丢数据 fork线程生成rdb文件时 数据量大会会阻塞主线程 aof优点 尽量数据不丢失 缺点: 占用磁盘多一点 qps会受一点影响 数据恢复的时候比较慢 阅读全文
posted @ 2021-06-17 10:05 rudynan 阅读(34) 评论(0) 推荐(0) 编辑
摘要:1. kafka/rabbitMQ/rocketMQ的优缺点 kafka 优点: 高吞吐量属于顶级 10w/s 高可用集群 性能高 通过配置可以消息0丢失 缺点: 功能比较单一 只有推和拉 不适用复杂的业务场景 rabbitMQ 优点: 可以保证数据不丢失 高可用 高级功能,死信队列 消息重试等 劣 阅读全文
posted @ 2021-06-08 15:48 rudynan 阅读(57) 评论(0) 推荐(0) 编辑
摘要:1. 选择排序 o n平方/o1 在剩余的数组中选取最小值与数组第一位替换 缺点是:无论是基本有序的数组还是乱序的数组,使用的时间是一致的 1 public void selectSort(int[] a){ 2 for (int i = 0; i < a.length; i++) { 3 int 阅读全文
posted @ 2021-06-03 16:34 rudynan 阅读(43) 评论(0) 推荐(0) 编辑
摘要:高可用需要保持数据尽量不丢失,服务尽量少中断,redis使用AOF/RDB来实现数据尽量不丢失 redis如何保证尽量少的服务不中断呢? redis提供了主从库模式,为了保证数据一致性,主从库使用读写分离,任何节点都可以提供读操作,主库才能 提供写操作,然后主库同步数据到从库 思考一下为什么不所有的 阅读全文
posted @ 2021-06-03 11:41 rudynan 阅读(337) 评论(0) 推荐(0) 编辑
摘要:完全二叉树: 1 2 3 4 5 6 满二叉树: 1 2 3 4 5 6 7 满二叉树是完全二叉树 完全二叉树不一定是满二叉树 阅读全文
posted @ 2021-06-01 15:25 rudynan 阅读(65) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示