04 2021 档案
摘要:使用explain等工具分析sql 主要看的都是type 的字段: id: 选择标识符select_type: 表示查询的类型。table: 输出结果集的表partitions: 匹配的分区type: 表示表的连接类型possible_keys: 表示查询时,可能使用的索引key: 表示实际使用的索
阅读全文
摘要:如何设计一个高可用的系统? 限流:高并发的流量涌入进来, 比如说突然间一秒钟100万的QPS 废掉了。 10万的qps进入系统,其他90万的qps被拒绝了。 熔断:系统后端的一些依赖,出来一些故障,比如说mysql挂掉了,每次的请求都是报错的, 熔断了, 后续的请求过来直接不接收了,拒绝访问,10分
阅读全文
摘要:mysql的读写分离? 一个主库 下面挂了三台从库 一般差不多。 多的话也不会影响性能, mysql 的读写分离: 是根据mysql主库会自动把数据写到从库中。 mysql 的主从复制的原理: mysql中的binlog日志 ,是记录对数据库的增删改的日志文件。 主库中的工作线程把数据写到binlo
阅读全文
摘要:分布式/集群部署的时候session的解决方案? 1 tomcat + redis 的方案 分布式部署两台机器的时候用户请求(机器1)数据到系统 返回的session数据会放在session中和redis中, 用户在请求(机器2)数据到系统,tomcat从redis中读取session数据 放在机器
阅读全文
摘要:分布式事务的方案: 1 两阶段提交的方案/xa方案。(这种方案不怎么用) 第一阶段 :询问。 第二阶段:执行。 spring + JTA 就可以实现。 这种方案是每个服务只能操作自己对应的数据库的,如果出现多个库这么一个操作是不合规的。 2 tcc 的方案 (try confirm cancel)分
阅读全文
摘要:分库分表? 高并发下每秒访问对数据库单库单表承受不住巨大的压力。单表最大支持每秒2000个写的请求。 分库能减缓对单表的压力。 数据库的中间件:sharding-jdbc 当当开源的。属于client层的,只要引入jar就可以使用了。 用的比较多的。 mycat 基于cobar改造的。属于proxy
阅读全文
摘要:redis 的集群架构: 使用redis cluster (多master + 读写分离 + 高可用) 如果你的数据很少, 主要用来承载高并发和高性能的场景,那就搭建一个replication 一个master 多个slave 要几个slave就是和你自己的吞吐量有关系,然后自己在搭建一个senti
阅读全文
摘要:MQ RabbitMQ kafka activeMQ rocketMQ 技术的选型? activeMQ 现在社区都不更新了。版本更新迭代慢。 基本上不更新了。 好多公司都不用了。 支持万级的。 有比较低的几率丢失数据 技术非常的成熟。 RabbitMQ 社区比较活跃,版本更新比较频繁。是erlang
阅读全文

浙公网安备 33010602011771号