- 博客(7)
- 收藏
- 关注
原创 Kafka 性能为什么比RocketMQ 高
在消息队列领域,Kafka 和 RocketMQ 都是备受关注的产品。整个过程发生了两次系统调用,对应 4 次用户空间和内核空间的切换以及 3 次数据拷贝,相比传统方式省下了一次内核空间到用户空间的拷贝。但需要注意的是,mmap 所说的 “零拷贝” 是指用户空间到内核空间这个过程不需要拷贝,并非数据从磁盘发送到网卡的整个过程没有拷贝。这里所说的 “零拷贝” 指的是 0 CPU 拷贝,在 sendfile 场景下需要的两次拷贝都是由 DMA 控制器完成,不占用 CPU 资源,不耽误 CPU 运行其他程序。
2025-03-19 01:32:59
1177
原创 分布式事务的七种解决方案
想要理解分布式事务,就不可避免的逃不过分布式的CAP原则CAP原则是由Eric Brewer提出的分布式系统设计的基本定理。它指出在一个分布式系统中,以下三个特性最多只能同时满足其中两个: ●Consistency(一致性):所有节点在同一时间具有相同的数据。 ●Availability(可用性):保证每个请求都会收到一个响应,无论响应成功或失败。 ●Partition Tolerance(分区容错性):分区容错性表明系统能够容忍网络中的任意分区或节点失效。
2025-02-26 02:36:36
2197
原创 mysql索引失效的六种原因
在数据库优化中,索引的有效使用至关重要。1.使用模糊匹配(如 LIKE %xx 或 LIKE %xx%)时,索引将失效。2.在查询条件中对索引列应用函数会导致索引失效。3.对索引列进行表达式计算同样无法使用索引。4.当字符串与数字进行比较时,MySQL会自动将字符串转换为数字,这种隐式类型转换会导致索引失效。5.联合索引的使用必须遵循最左匹配原则,否则会导致索引失效。6.在 WHERE 子句中,如果 OR 前的条件是索引列而 OR 后的条件不是,索引也会失效。
2025-02-22 00:15:10
3853
原创 mysql Explain解读
Explain 是 SQL 分析工具中非常重要的一个功能,它可以模拟优化器执行查询语句,帮助我们理解查询是如何执行的;varchar(n):如果是 utf - 8:3 * n + 2 字节,加的 2 个字节存储字符串长度,如果是 utf8mb4:4 * n + 2 字节。正确合理使用 MySQL explain 可以帮助我们更好地理解查询执行计划,并确定如何最好地优化查询 SQL,提升 SQL 性能,增加系统稳定性。2.name 列有索引,因索引已经是排序好的所以直接读取就可以了。
2025-02-20 00:34:09
2251
原创 分布式微服务系统拆分与渐进式架构设计
定义核心域(Core Domain)、支撑域(Supporting Subdomain)、通用域(Generic Subdomain)。定义统一的 API 规范(如 RESTful + OpenAPI 3.0)、事件协议(如 CloudEvents)。统一监控(Prometheus + Grafana)、日志(ELK)、链路追踪(Jaeger)。熔断降级(Hystrix/Sentinel)、重试策略(指数退避)、限流(令牌桶算法)。:将读密集型(如商品详情页)与写密集型(如订单创建)拆分为不同服务。
2025-02-17 16:18:12
898
原创 构建高性能、高可用、可扩展、可伸缩、安全性的分布式系统架构
防止跨站脚本攻击(XSS),注入攻击,跨站请求伪造(CSRF),错误信息,HTML注释,文件上传,路径遍历等。首先,需要从架构级别,在规划的时候,就考虑可用性。数据层:冗余备份(冷,热备[同步,异步],温备),失效转移(确认,转移,恢复)。数据保密安全:存储安全(存在在可靠的设备,实时,定时备份),保存安全(重要的信息加密保存,选择合适的人员复杂保存和检测等),传输安全(防止数据窃取和数据篡改);代码优化:合理的架构,多线程,资源复用(对象池,线程池等),良好的数据结构,JVM调优,单例,Cache等;
2025-02-17 13:31:51
934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅