背景 反射在Java中非常重要,是Java区别于其他编程语言的一大特性。Java中的AOP切面、动态代理等看起来像黑魔法一样的技术,就离不开反射、字节码等。这些技术能在不侵入...
背景 反射在Java中非常重要,是Java区别于其他编程语言的一大特性。Java中的AOP切面、动态代理等看起来像黑魔法一样的技术,就离不开反射、字节码等。这些技术能在不侵入...
正如飞机在起飞前,机长、副机长要过一遍checklist检查,确认没问题了才能起飞。楼主也整理了一个系统容量现状checklist,方便对照检查。本文搭配架构师必备:如何做容...
首先要回答一个问题,为何要使用HBase?随着业务不断发展、数据量不断增大,MySQL数据库存在这些问题: MySQL支持的数据量为TB级,不能一直保留历史数据。而HBase...
背景 有2种常见的多维度查询场景,分别是: 带多个筛选条件的列表查询 不含分库分表列的其他维度查询 普通的数据库查询,很难实现上述需求场景,更不用提模糊查询、全文检索了。 下...
结论 有以下几种Redis集群方案,先说结论: Redis cluster:应当优先考虑使用Redis cluster。 codis:旧项目如果仍在使用codis,可继续使用...
Spring cache是一个缓存API层,封装了对多种缓存的通用操作,可以借助注解方便地为程序添加缓存功能。常见的注解有@Cacheable、@CachePut、@Cach...
先说结论:本地缓存优先选用caffeine,因为性能比guava cache快,api风格与之兼容、能轻松地平滑迁移,并且在spring/spring boot最新版本中已经...
要在应用中做到幂等,其实并不难,本文尝试做一个系统性的总结,欢迎一起探讨。 什么是幂等 某个操作执行一次,跟执行多次的效果一样。幂等一词来自于数学中的幂等,即f(f(x)) ...
为了构建高并发、高可用的系统架构,压测、容量预估必不可少,在发现系统瓶颈后,需要有针对性地扩容、优化。结合楼主的经验和知识,本文做一个简单的总结,欢迎探讨。 1、QPS保障目...
本文介绍如何应用Canal实现异步、解耦的架构,后续有空再写文章分析Canal原理和源代码。 Canal简介 Canal是用来获取数据库变更的中间件。伪装自己为MySQL从库...
上一篇文章介绍了MySQL主从同步的原理和应用[https://www.cnblogs.com/toplist/p/15365460.html],本文总结了MySQL主从延迟...
日常工作中,MySQL数据库是必不可少的存储,其中读写分离基本是标配,而这背后需要MySQL开启主从同步,形成一主一从、或一主多从的架构,掌握主从同步的原理和知道如何实际应用...
按楼主的经验和知识,本文总结了应用开发中的各种存储架构,从易到难,从起步到起飞。如有不对之处,欢迎留言。 1、单库 最简单的初始架构,适用于千万级以下的数据,并发量低的场景。...