07 2022 档案

摘要:引入 MQ 消息中间件最直接的目的是:做系统解耦和流量控制。 系统解耦:用 MQ 消息队列,可以隔离系统上下游环境变化带来的不稳定因素,比如京豆服务的系统需求无论如何变化,交易服务不用做任何改变,即使当京豆服务出现故障,主交易流程也可以将京豆服务降级,实现交易服务和京豆服务的解耦,做到了系统的高可用 阅读全文
posted @ 2022-07-25 15:11 KLAPT 阅读(97) 评论(0) 推荐(0) 编辑
摘要:在JDK1.7中,由”数组+链表“组成,数组是HashMap的主体,链表则是主要为了解决哈希冲突而存在的。 在JDK1.8中,有“数组+链表+红黑树”组成。 当链表超过8且数组长度(数据总量)超过64才会转为红黑树 将链表转换成红黑树前会判断,如果当前数组的长度小于64,那么会选择先进行数组扩容,而 阅读全文
posted @ 2022-07-25 14:55 KLAPT 阅读(46) 评论(0) 推荐(0) 编辑
摘要:乐观锁、悲观锁并不像行级锁、共享锁等概念一样是真实存在的锁。其实他们只是人们定义出来的概念,可以认为是一种思想。 悲观锁和乐观锁 悲观锁,正如其名,它指的是对数据被外界修改持悲观态度,因此,在整个数据处理过程中,需要先将数据进行锁定,获得锁之后再进行操作。 在MySQL中,可以使用排他锁来实现悲观锁 阅读全文
posted @ 2022-07-22 16:00 KLAPT 阅读(122) 评论(0) 推荐(0) 编辑
摘要:1. Eureka(注册中心) Eureka 是 Spring Cloud 微服务架构中的注册中心,专门负责服务的注册与发现,里面有一个注册表,保存了各个服务器的 机器和端口。 Eureka服务端:也称服务注册中心,同其他服务注册中心一样,支持高可用配置。如果Eureka以集群模式部署,当集群中有分 阅读全文
posted @ 2022-07-20 15:37 KLAPT 阅读(229) 评论(0) 推荐(0) 编辑
摘要:Spring 通过提前曝光机制,利用三级缓存解决循环依赖。 在 Spring 创建 Bean 的核心代码 doGetBean 中,在实例化 bean 之前,会先尝试从三级缓存获取 bean,这也是 Spring 解决循环依赖的开始。 | 缓存中获取 bean // AbstractBeanFacto 阅读全文
posted @ 2022-07-20 15:07 KLAPT 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1.1 总体概览 日志门面 日志门面定义了一组日志的接口规范,它并不提供底层具体的实现逻辑。Apache Commons Logging 和 Slf4j 就属于这一类。 日志实现 日志实现则是日志具体的实现,包括日志级别控制、日志打印格式、日志输出形式(输出到数据库、输出到文件、输出到控制台等)。L 阅读全文
posted @ 2022-07-18 15:37 KLAPT 阅读(50) 评论(0) 推荐(0) 编辑
摘要:幂等性的核心思想:通过唯一的业务单号保障幂等性,非并发的情况下,查询业务单号有没有操作过,没有则执行操作,并发情况下,这个操作过程需要加锁。 1、Update操作的幂等性 1)根据唯一业务号去更新数据 通过版本号的方式,来控制update的操作的幂等性,用户查询出要修改的数据,系统将数据返回给页面, 阅读全文
posted @ 2022-07-12 22:49 KLAPT 阅读(88) 评论(0) 推荐(0) 编辑
摘要:Redis 是一个高性能服务端的典范。它通过多路复用 epoll 来管理海量的用户连接,只使用一个线程来通过事件循环来处理所有用户请求,就可以达到每秒数万 QPS 的处理能力。 一、多线程 Redis 服务启动 默认情况下多线程是默认关闭的。如果想要启动多线程,需要在配置文件中做适当的修改。相关的配 阅读全文
posted @ 2022-07-05 15:51 KLAPT 阅读(293) 评论(0) 推荐(0) 编辑
摘要:分布式事务就是要保证不同节点之间的数据一致性。 常见的分布式事务解决方案 1、2PC(二阶段提交)方案 - 强一致性 2、3PC(三阶段提交)方案 3、TCC (Try-Confirm-Cancel)事务 - 最终一致性 4、Saga事务 - 最终一致性 5、本地消息表 - 最终一致性 6、MQ事务 阅读全文
posted @ 2022-07-04 22:24 KLAPT 阅读(262) 评论(0) 推荐(0) 编辑
摘要:(1)服务器架构 服务器架构也是从相对单一到集群,再到分布式服务。 一个可以支持高并发的服务少不了好的服务器架构,需要有均衡负载,数据库需要主从集群,nosql缓存需要主从集群,静态文件需要上传cdn 服务器 均衡负载(如:nginx,阿里云SLB) 资源监控 分布式 数据库 主从分离,集群 DBA 阅读全文
posted @ 2022-07-04 22:12 KLAPT 阅读(222) 评论(0) 推荐(0) 编辑
摘要:1.new BigDecimal()和BigDecimal.valueOf() > BigDecimal bd1 = new BigDecimal(0.01);BigDecimal bd2 = BigDecimal.valueOf(0.01);System.out.println("bd1 = "  阅读全文
posted @ 2022-07-02 22:19 KLAPT 阅读(98) 评论(0) 推荐(0) 编辑

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