摘要:
一、负载均衡有两大门派,服务端负载均衡和客户端负载均衡 网关层负载均衡 网关层负载均衡也被称为服务端负载均衡,就是在服务集群内设置一个中心化负载均衡器,比如 API Gateway 服务。发起服务间调用的时候,服务请求并不直接发向目标服务器,而是发给这个全局负载均衡器,它再根据配置的负载均衡策略将请 阅读全文
摘要:
一、如何将服务提供者注册到nacos 三个核心类: NacosDiscoveryAutoConfiguration:服务发现功能的自动装配器,它主要做两件事儿:加载 Nacos 配置项,声明 NacosServiceDiscovery 类用作服务发现; NacosServiceAutoConfigu 阅读全文
摘要:
1.可见性:多核系统每个cpu自带高速缓存,彼此间不交换信息 case:两个线程对同一份实例变量count累加,结果可能不等于累加之和,因为线程将内存值载入各自的缓存中,之后的累加操作基于缓存值进行,并不是累加一次往内存回写一次 2.原子性:cpu分时操作导致线程的切换 case:AB两个线程同时进 阅读全文
摘要:
1.首先客户端通过tcp/ip发送一条sql语句到server层的SQL interface2.SQL interface接到该请求后,先对该条语句进行解析,验证权限是否匹配3.验证通过以后,分析器会对该语句分析,是否语法有错误等4.接下来是优化器器生成相应的执行计划,选择最优的执行计划5.之后会是 阅读全文
摘要:
一、redis可以用来做消息队列么 redis可以做消息队列,可以利用list 和 streams 两个方案比较如下图所示 BRPOP:堵塞读取,不需要一直轮询获取数据 BRPOPLPUSH:是让消费者程序从一个 List 中读取消息,同时,Redis 会把这个消息再插入到另一个 List(可以叫作 阅读全文
摘要:
当redis缓存的数据量越来越大,有限的缓存空间不可避免地会被写满,这个时候就涉及到缓存数据的淘汰策略 一、8种淘汰策略 默认情况下,Redis 在使用的内存空间超过 maxmemory 值时,并不会淘汰数据,也就是设定的 noeviction 策略。对应到 Redis 缓存,也就是指,一旦缓存被写 阅读全文
摘要:
一、数据一致性(无法做到绝对一致) 缓存分成读写缓存和只读缓存 读写缓存写回策略有两种 1、同步直写策略:写缓存时,也同步写数据库,缓存和数据库中的数据一致;(要在业务应用中使用事务机制,来保证缓存和数据库的更新具有原子性) 2、异步写回策略:写缓存时不同步写数据库,等到数据从缓存中淘汰时,再写回数 阅读全文
摘要:
1、为什么 String 类型内存开销大? String 类型具体是怎么保存数据的呢?当你保存 64 位有符号整数时,String 类型会把它保存为一个 8 字节的 Long 类型整数,这种保存方式通常也叫作 int 编码方式。但是,当你保存的数据中包含字符时,String 类型就会用简单动态字符串 阅读全文
摘要:
一、主从复制 1、主从怎么保持数据一致 Redis 的主从库同步有三种模式:全量复制、基于长连接的命令传播,以及增量复制。 1.第一次主从库同步 它们相互之间就可以通过 replicaof命令形成主库和从库的关系,之后会按照如下图所示三个阶段完成数据的第一次同步 FULLRESYNC 响应表示第一次 阅读全文
摘要:
二、链表 临值查找 hardhttps://www.acwing.com/problem/content/description/138/ 141.环形链表 mediumhttps://leetcode-cn.com/problems/linked-list-cycle/ 142.环形链表II me 阅读全文