表数据量大读写缓慢如何优化【查询分离】

业务场景二 某 SaaS 客服系统,系统里有一个工单查询功能,工单表中存放了几千万条数据,且查询工单表数据时需要关联十几个子表,每个子表的数据也是超亿条。 面对如此庞大的数据量,跟前面的冷热分离一样,每次客户查询数据时几十秒才能返回结果,即便我们使用了索引、SQL 等数据库优化技巧,效果依然不明显。 加上工单表中有些数...

表数据量大读写缓慢如何优化【分库分表】

一、业务场景三 为了便于理解,我们通过一个业务场景来入手。 有一个电商系统架构优化工作,该系统中包含用户和订单2个主要实体,每个实体涵盖数据量如下表所示: 实体数据量增长趋势 用户千万级每日10万 订单亿级每日百万级,后续可能千万级 从上表中发现,目前订单数据量已达上亿,并且每日以百万级速度增长,之后还可能是千万级。 ...

表数据量大读写缓慢如何优化【冷热分离】

业务场景一 曾经经历过供应链相关的架构优化,当时平台上有一个订单功能,里面的主表有几千万数据量,加上关联表,数据量达到上亿。 这么庞大的数据量,让平台的查询订单变得格外迟缓,查询一次都要二三十秒,而且多点击几次就会出现宕机。比如业务员多次查询时,数据库的 CPU 会立马狂飙,服务器线程也降不下来。 当时,我们尝试了优化...

Spring Integration 中文手册(完整版)

1. Spring Integration 中文手册 Spring Integration 对 Spring 编程模型进行了扩展,使得后者能够支持著名的“企业集成模式”。通过SI(Spring Integration)可以在基于Spring的应用中引入轻量级的“消息驱动模式”,并且支持“通过声明式的适配器”与外部系统进...

SpringBoo2t获取ApplicationContext的3种方式

ApplicationContext是什么? 简单来说就是Spring中的容器,可以用来获取容器中的各种bean组件,注册监听事件,加载资源文件等功能。 Application Context获取的几种方式 1 直接使用Autowired注入 @Component public class Book1 { @Autow...

各种法则定律-引论

参考: 一、墨菲定律:如果事情可能出错,它就会出错。 二、布鲁克定律:大部分情况下,为已经延期的软件项目增加人手只会让项目延期得更厉害。 三、霍夫施塔特定律:项目的实际完成时间总是比预期的要长。 四、康威定律:组织所设计的系统的结构受限于组织的通信结构。(如果某人想要改变的东西属于其他人,那么他就很难改变这些东西。根据...

springBoot2动态数据源以及Mybatis多数据源

一、前言 由于项目中读写分离,或者分库分表导致数据库连接有很多。这个时候我们常常会切换多数据源进行业务的合并。mybatis plus 团队新增了dynamic datasource spring boot starter 用来动态切换数据源。 <dependency> <groupId>com...

springBoot2中webflux集成swagger2

1.pom文件中引用如下 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox boot starter</artifactId> <version>3.0.0<...

MySQL 5.7root用户密码修改

在MySQL 5.7 password字段已从mysql.user表中删除,新的字段名是“authenticalion string”. 选择数据库:use mysql; 更新root的密码: update user set authentication string=password('新密码') where use...

Java反射生成对象

想要了解反射生成class和创建java对象,首先我们要了解什么是反射? 一、什么是反射? Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。 二、反射生成Class的...

缓存和数据库一致性问题

问题: 你只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 分析: 先做一个说明,从理论上来说,有两种处理思维,一种需保证数据强一致性,这样性能肯定大打折扣;另外我们可以采用最终一致性,保证性能的基础上,允许一定时间内的数据不一致,但最终数据是一致的...

#分布式#数据库更新#缓存更新#分布式缓存一致性阅读全文 »

Drools语法

Drools语法 Language 关键词 Hard keywords(Cannot use any): true,false,null Soft keywords(avoid use) lock on active date effective date expires no loop auto focus acti...

线程流转状态图

新建状态(New): 线程对象被创建后,就进入了新建状态。例如,Thread thread = new Thread()。 就绪状态(Runnable): 也被称为“可执行状态”。线程对象被创建后,其它线程调用了该对象的start()方法,从而来启动该线程。例如,thread.start()。处于就绪状态的线程,随时可...

Ubuntu 搭建Zookeeper服务

1、下载安装包 官方下载地址http://apache.fayea.com/zookeeper/ 2、安装 安装前确保系统已安装过JDK,JDK安装过程可参照 2.1 解压下载好的tar.gz安装包到某个目录下,可使用命令: tar zxvf zookeeper 3.5.4 beta.tar.gz 2.2 进入解压目录...

HAProxy常见的安装方式

1>.什么是负载均衡 负载均衡(Load Balance,简称LB)是一种服务或基于硬件设备等实现的高可用反向代理技术,负载均衡将特定的业务(web服务、网络流量等)分担给指定的一个或多个后端特定的服务器或设备,从而提高了公司业务的并发处理能力、保证了业务的高可用性、方便了业务后期的水平动态扩展。 博主推荐阅读:...

关于Mono和Flux的理解

关于java的响应式编程框架 SpringReactor 关于Reactor的介绍 Reactor是Spring中的一个子项目是一个基于java的响应式编程框架,此框架是 Pivotal 公司(开发 Spring 等技术的公司)开发的,实现了 Reactive Programming(反应式编程即响应式编程) 思想,符...

Python3下request处理cookie的两种方法

一、获取cookie 手动获取:手工登录获取cookie,登录成功后可以不断更新cookie到文件中存储。 参考:https://www.jianshu.com/p/5ef0c7bb1ed2 导入requests包 import requests targetURL = '目标网站地址' 设置头UA headers =...

api网关介绍

1.什么是网关 API网关是一个系统的唯一入口。 是众多分布式服务唯一的一个出口。 它做到了物理隔离,内网服务只有通过网关才能暴露到外网被别人访问。 简而言之:网关就是你家的大门 2.提供了哪些功能 身份认证(oauth2/jwt) 权限安全(黑白名单/爬虫控制) 流量控制(请求大小/速率) 数据转换(公共请求requ...

Mysql-Limit 优化和数据重复

limit 查询导出优化 耗时本质 mysql大数据量使用limit分页,随着页码的增大,查询效率越低下。 1.当一个表数据有几百万的数据的时候成了问题! 如 select from table limit 0,10 这个没有问题 当 limit 200000,10 的时候数据读取就很慢 原因本质: 1)limit语句...