1
一、分片算法哈希分片哈希分片是一种常用的分库分表方法,它通过对键值对(key-value)进行哈希运算,将数据分布到多个数据库中。哈希分片的核心算法原理是将数据按照一定的规则映射到不同的数据库中。哈希分片算法的主要步骤如下:对于每个需要查询的数据,计算其哈希值。根据哈希值将数据映射到一个或多个数据库中。在查询数据时,根据哈希值确定需要查询的数据库。 范围分片范围分片是另一种常用的分库分表方法,它通
1.延时任务海量定时任务管理的场景非常多,在实际项目中,存在大量需要定时或是延时触发的任务, 比如电商中,延时需要检查订单是否支付成功,是否配送成功,定时给用户推送提醒等等。
1.Mongodb概念MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。(1)在高负载的情况下,添加更多的节点,可以保证服务器性能。(2)MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。(3)MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。(4)MongoDB 文档类似于 JSON 对象。字段值可以包含其他
一、5.6版本MySQL特性1.InnoDb 开始支持全文索引2.InnoDb 支持设置页面大小3.通过innodb_page_size 指定,默认是16KB,4.对于工作负载和存储设备(尤其是具有小块大小的SSD设备)的 某些组合,较小的页面大小可以帮助避免冗余或低效的I / O5.InnoDB redolog总大小的限制从之前的4G扩展至512G6.InnoDB现在可以限制大量表打开的时候内存
一、Redis5.0新特性
一、垃圾回收器汇总7种经典垃圾回收器:Serial、Serial old、ParNew、Parallel Scavenge、Parallel old、CMS、G1串行回收器:Serial、Serial old并行回收器:ParNew、Parallel Scavenge、Parallel old并发回收器:CMS、G1
一、Java 11 新特性局部变量类型推断:Java 11支持在局部变量的声明中使用var关键字进行类型推断。通过省略变量的类型,可以更简洁地声明局部变量,提高代码的可读性。字符串API增强:Java 11引入了一些新的方法和功能来处理字符串。其中包括isBlank()方法用于检测字符串是否为空白,lines()方法用于将字符串拆分成行,以及strip()、stripLeading()和strip
一、核心能力SpringCloud gateway是Spring Cloud生态体系的第二代网关,是基于Spring5.0、Spring Boot 2.0、Reactor等技术开发的网关。底层主要是两大核心:Spring web Filter chain和Spring WebFlux。Filter :Filter是一个Servlet规范组件;一个请求可以在Http请求到达Servlet前被一个或多
1.调用流程Ribbon 要做什么事情?先通过 “http://” + serviceId + “/info” 我们思考 ribbon 在真正调用之前需要做什么?restTemplate.getForObject(“http://provider/info”, String.class);想要把上面这个请求执行成功,我们需要以下几步拦截该请求;获取该请求的 URL 地址:http://provid
1. Java线程模型和虚线程1.1 平台线程在 Java 中,经典线程是 java.lang.Thread 类的实例。后面我们也将它们称为平台线程。传统上,Java 将平台线程视为围绕操作系统 (OS) 线程的瘦包装器。创建这样的平台线程一直很昂贵(由于操作系统维护的堆栈和其他资源很大),因此 Java 一直使用线程池来避免线程创建的开销。平台线程的数量也必须受到限制,因为这些非常消耗资源的线程
服务器端负载均衡器传统Load Balancers(例如Nginx、F5)是放置在服务器端的组件。当请求来自 客户端 时,它们将转到负载均衡器,负载均衡器将为请求指定服务器。负载均衡器使用的最简单的算法是随机指定。在这种情况下,大多数负载平衡器是用于控制负载平衡的硬件集成软件。对客户端透明,客户端不知道服务器端的服务列表,甚至不知道自己发送请求的目标地址存在负载均衡器。服务器端维护负载均衡服务器,
有序性是 zookeeper 中非常重要的一个特性,所有的更新都是全局有序的,每个更新都有一个唯一的时间戳,这个时间戳称为 zxid(Zookeeper Transaction Id)。而读请求只会相对于更新有序,也就是读请求的返回结果中会带有这个zookeeper 最新的 zxid。ZooKeeper 提供了什么?文件系统通知机制Zookeeper 文件系统Zookeeper 提供一个多层级的
Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。我们就从数组和
一、创建sqlSession 1. 从configuration中获取environment 2. 然后根据环境environment获取transactionFactory 3.调用事务工厂创建事务tx 4. 调用configuration创建新的executor5.根据执行类型executor
单例设计模式/** * DCL方式 */ public static Singleton getSingleton() { if(Objects.isNull(singleton)) { synchronized ((Singleton.class)) { if(Objects.isNull(singleton
2PC 它可以保证在分布式事务中,要么所有参与进程都提交事务,要么都取消事务,即实现 ACID 的原子性(A)。 在数据一致性中,它的含义是:要么所有副本(备份数据)同时修改某个数值,要么都不更改,以此来保证数据的强一致性。2PC分为2个阶段:表决阶段:1、事务询问Coordinator (协调者)向所有的参与者发送一个 vote req
GuavaCache和Caffeine差异剔除算法方面,GuavaCache采用的是「LRU」算法,而Caffeine采用的是「Window TinyLFU」算法,这是两者之间最大,也是根本的区别。立即失效方面,Guava会把立即失效 (例如:expireAfterAccess(0) and expireAfterWrite(0)) 转成设置最大Size为0。这就会导致剔除提醒的原因是SIZE而不
简介 ES是一个分布式、可扩展的、近实时的数据搜索、分析与存储引擎。支持全文搜索、结构化搜索、半结构化搜索、数据分析、地理位置和对象间关联关系搜索等功能。其底层基于Lucene,但Lucene比较复杂,面向普通应用开发者而言,易用性不是很好,同时对于目前的主流分布式架构支持也不好,所以就诞生了ES。ES使用Java编写,它的内部使用Lucene做索引与搜索,隐藏了Lucen
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号