单体架构的开发和架构问题

一 电商单体架构 网站 = 系统服务 + 数据存储 系统服务:java 程序 数据存储:数据库 二 传统数据库的优化 1 颠覆型 通过引入&...

分布式锁的应用

一 场景分析 在高并发情况下,即使对每一个 Tomcat 加了锁,也解决不了多个线程同时访问 Mysql 的问题,此时需要加一把分布式锁,在同一时刻只有一个 T...

解决应用程序和 redis 之间的网络IO问题

一 问题场景 二 解决方案 走本地缓存,不用自己写 Hashmap,使用第三方本地缓存 Caffeine Cache。 三 参考代码 1 本地缓存...

电商平台微服务架构演进

一 初始架构 引入 nacos 后的基础架构图。 二 加入 Ribbon 后的架构 引入多个微服务,每个微服务通过 Ribbon 进行相互调用。 三 ...

数据水平切分思想

一 定义  水平切分是指业务模块按照数据的主键值来切分,实现扩展系统的能力。 简单理解,就是把数据表中一行行的数据,从水平方向切割开。 例如:从前一个系统的全量数据是100万个用户数据,水平切分10份后,...

数据垂直切分思想

一 定义 垂直切分和水平切分相比,可以理解为把数据表中的数据按照数据字段的维度纵向切分开。 二 使用场景 垂直切分在复杂逻辑解耦方面很有用。例如,针对亿级访问量的系统,用户并发数和每秒的访问总量都很...

数据库分库分表实战

一 使用场景 当单个数据库实例达到瓶颈,例如连接数过多,处理能力受限、存储容量不足、磁盘IO达到瓶颈、内存不足,都需要对数据库进行分库分表。 二 垂直切分 数据库表按列拆分,拆分后,数据库从一个数据列多的...

怎样读 nacos 源码——客户端注册调用点解读

一 nacos 基础架构 上图的蓝色位置涉及 nacos 二 源码下载位置 CSDN 下载 1.4.1 版本,这个版本是企业使用的主流版本。 三 导入...

怎样读 nacos 源码——服务端处理客户端注册解读

一 nacos 代码结构 二 Controller 入口 三 注册入口 四 继续跟进 读源码方法: 1 Debug:生产环...