之前设计过一个 百万级QPS的公共配置中心设计方案[//www.greatytc.com/p/a62d524bd7ec],主要是用于服务端配置,但是对于APP端,其...
之前设计过一个 百万级QPS的公共配置中心设计方案[//www.greatytc.com/p/a62d524bd7ec],主要是用于服务端配置,但是对于APP端,其...
业务中经常有一些树形结构设计,比如公司的组织架构、服务调用链路等,每个节点都有子节点和父节点,树的深度又是不确定的,这时候sql结构该怎么设计呢? 1、路径枚举模型 在这种模...
1、多属性合并 根据stream中对象的多个相同属性对不同的属性进行合并/聚合 2、根据多字段去重 3、根据多字段获取重复数据
1 字符串 1.1 替换字符串 REPLACE 1.2 字符串交集 求两个字符串是否有交集,比如表中数据是 1,2,3 ,搜索条件是 2,3,4,需要查询到交集数据。 1....
常见性能优化手段——以AB分流接口为例[//www.greatytc.com/p/e41d18e63d4f] 线上接口突然变慢优化方案[https://www.ji...
服务高并发、高性能、高可用实现方案 高并发、高可用、高性能被称为互联网三高架构,这三者都是工程师和架构师在系统架构设计中必须考虑的因素之一。 1、高并发 高并发是现在互联网分...
如何衡量系统稳定性的高与低呢?一个常用的指标就是服务可用时长占比,占比越高说明系统稳定性也越高,如果我们拿一整年的数据来看,常见的 4 个 9(99.99%)意味着我们系统提...
1 系统拆分(微服务拆分) 最常见的是按照业务维度拆(比如电商场景的商品服务、订单服务等),也可以按照核心接口和非核心接口拆,还可以按照请求去拆(比如To C和To B,A...
高并发系统功能设计注意事项[//www.greatytc.com/p/1ed37540b4ce] 1 集群部署(负载均衡) 通过负载均衡减轻单机压力 如果一个应用只...
1、MVCC 简单讲讲你对 MVCC 的理解。 MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突时,也...
1. 背景 在关系数据库中,当单个库的负载、连接数、并发数等达到数据库的最大上限时,就得考虑做数据库和表的拆分。如一个简单的电商数据库,在业务初期,为了快速验证业务模式,把用...
方法一:CAS 每个线程自旋获取是否打印标识,利用原子类实现(AtomicInteger),实现简单但是性能不友好 方法二:Object的wait/notify 阻塞和唤醒机...
1、Kafka rebalance机制 kafka是以消费者组进行消费,一个消费者组,由多个consumer组成,他们和topic的消费规则如下: topic的一个分区只能被...
1、Consul 简介 Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案, consul 的方案...
1、Reids Cluster架构 在Redis(四):集群模式[//www.greatytc.com/p/ee1ccbddb020]这篇文章中有介绍redis集群...
1、自动装配 当项目启动的时候,会去从所有的spring.factories文件中读取@EnableAutoConfiguration键对应的值,拿到配置类,然后根据一些条件...
在Java开源框架中,尤其是基于Spring/Springboot的开源框架,需要通过Spring/Springboot的扩展点来整合,这篇文章就是整理一下那些Bean的生命...
Redisson 锁的加锁机制 自定义redis分布式锁无法自动续期,比如,一个锁设置了1分钟超时释放,如果拿到这个锁的线程在一分钟内没有执行完毕,那么这个锁就会被其他线程拿...
1、常见场景 场景一:工作中根据日志排查问题时我们经常想看到某个请求下的所有日志,可是由于生产环境并发很大,服务被调过于频繁,日志刷新太快每个请求之间的日志并不连贯,互相穿插...
分布式事务常见解决方案 一、事务介绍 事务是一系列的动作,它们综合在一起才是一个完的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什...