Java.
31 posts — Posts about Java
PolarDB 存算分离
背景 随着互联网业务规模不断扩大,传统关系型数据库架构逐渐暴露出一些瓶颈,例如扩展能力不足、存储成本高、读写压力集中等问题。
微服务架构设计
为什么会出现微服务架构 在早期的软件系统中,大多数应用都采用 单体架构(Monolithic Architecture)。
一级二级缓存设计
为什么需要多级缓存 在互联网系统中,随着业务规模不断增长,数据库往往会成为系统的性能瓶颈。大量请求如果直接访问数据库,不仅会带来高延迟,还会导致数据库压力过大,甚至出现连接耗尽、查询变慢等问题。
ETCD 探索
在分布式系统中,经常会遇到这样的问题: 服务节点需要共享配置 系统需要做服务发现 分布式锁需要一个协调中心 集群需要一个一致性的状态存储 这些问题,本质上都需要一个 可靠的分布式协调系统。
Netty 深入学习
在分布式系统、微服务架构中,网络通信是最基础也是最重要的一部分。 很多高性能框架(如 Dubbo、gRPC、RocketMQ、Elasticsearch 等)底层都依赖 Netty 来完成网络通信。
Redis分布式锁
很多人在刚接触分布式系统的时候,都会遇到一个问题: 多个服务实例同时处理同一件事情,如何避免数据被重复处理? 例如: 用户抢优惠券 定时任务执行 库存扣减 订单状态更新 如果系统只有一个进程,其实很简单,用 本地锁(…
阿里云实时数仓
前言 使用阿里云现有的产品生态体系,可以解决企业自建集群复杂,难维护,部署成本高的问题。基于这些情况我们可以使用目前阿里云已有的产品进行开通,来满足企业业务需求。
Canal 组件
前言 Canal 是阿里巴巴开源的一款 基于 MySQL Binlog 的数据实时订阅与消费组件,常用于实现数据库变更数据捕获(CDC,Change Data Capture)。
架构设计原则
在进行系统架构设计时,通常需要从多个维度综合考虑系统能力。一个优秀的系统架构不仅要满足当前业务需求,还需要能够适应未来的业务增长和技术演进。常见需要重点关注的设计原则包括以下几个方面。
防重复提交
使用Token令牌机制可以有效地防止CSRF攻击和重复提交。在提交表单时,服务器会生成一个Token令牌,并将其存储在Redis中。然后,将这个Token令牌作为表单的一个隐藏字段或URL参数传递给客户端。