Littlehui's Notes

古代有一位将军喝酒成瘾,将军啊将军,他越喝越有型。


  • 首页

  • 关于

  • 标签

  • 分类

  • 搜索

RocksDB详解

发表于 2022-12-02 | 分类于 concurrent
RocksDB 详解 性能好,支持事务。 秒杀库存扣减中使用了缓存 + Write-Ahead Logging 技术。 事务随机读写。Redo日志是追加文件顺序读写,性能差异有30-40倍。 事务的实现上,MySQL使用的是WAL机制来的。所有的修改都先被写到日志中,然后再被应用到系统重。包括re ...
阅读全文 »

多数据源项目下dubbo调用,获取的数据源不正确

发表于 2022-12-01 | 分类于 bug
背景每天定时任务会跑一次下个月的表是否存在,然后进行建表。dubbo调用。在线程上配置了 datasource选取规则。 初始化的时候会判断是否有建下个月的表,这个操作需要通过schema.xxx操作。但是shardingsphere不支持schema.xxx操作。所以我们创建了两个数据源,shar ...
阅读全文 »

Spring boot gateway 网关压测时配置异常,导致服务返回405

发表于 2022-12-01 | 分类于 bug
背景网关选用的是Spring-boot-gateway,网关配置使用nacos持久化。 Spring的网关源码分析通过网关的源码分析,StripPrefixGatewayFilterFactory 通过parts值来截断请求的前缀。正常的是1,在执行过程中被刷新成了5。导致截断请求错误。 12345 ...
阅读全文 »

电商项目数据高可用架构设计

发表于 2022-12-01 | 分类于 practice
缓存数据库一致Canal : 基于Binlog的同步中间件。 Canal伪装成Mysql的从节点。收到Binlog 解析变更的binlog。 Canal Server - 接收Mysql 日志流。Canal Client - 处理解析后的操作。可以在业务进行实现。 Canal也可以推送到Mq,kaf ...
阅读全文 »

大型网站的高并发读写总结

发表于 2022-12-01 | 分类于 concurrent
高并发的读写场景解析不管什么系统,都是做读和写。 侧重”高并发读”的系统存储引擎 ES,solr等终端用户-搜索(读)-> 搜索引擎 <-发布(写)- 内容生产者 数量级的差别:终端用户成千上百万个。生产者是公司内部产生,数量级不会太高。 响应时间。读的响应时间要求在毫秒级。 侧重” ...
阅读全文 »

【秒杀系统4】订单链路兜底方案,限流和熔断降级

发表于 2022-11-30 | 分类于 seckill
高并发场景下实现系统稳定运行微服务网关常见限流方案客户端限流 服务端限流 网关限流 应用层限流 微服务网关限流详情页入口流量保护,黑订单,限制一个IP访问频率。 基于Redis + Lua的脚本限流RequestRateLimiter过滤工厂。算法:令牌桶。 初始化令牌数量。每次请求过来获取一个令牌 ...
阅读全文 »

【秒杀系统3】优化订单交易全链路优化

发表于 2022-11-30 | 分类于 seckill
下单定时检查的优化RocketMq事务消息 Redis扣减库存优化 分布式锁,存在锁竞争,一个商品对应一个锁。几百个商品同时秒杀,Redis压力巨大。 优化方案: 分布式锁变成本地锁。秒杀服务开始前,由配置中心给每个应用服务实例下发一个库存数胡亮。然后每次下单,每个服务器只管自己的库存数量。与其他 ...
阅读全文 »

【秒杀系统2】设计与实现下

发表于 2022-11-29 | 分类于 seckill
秒杀前的流量控制预约开放预约获得资格后才能参与秒杀。 预约也有高并发所以需要一些设计: 预约管理后台。 预约短信和消息提醒。 面向终端的雨夜核心微服务,提供给用户预约和取消资格能力。 详情页在展示时获取预约信息的能力,比如商品是否预约,当前预约人数等等。 秒杀下单时检查预约资格的能力。 核心 ...
阅读全文 »

【秒杀系统1】设计与实现上

发表于 2022-11-29 | 分类于 seckill
业务分析 系统挑战 瞬时流量 库存有限 持续时间短 预约,限购 涉及 商品详情页,订单结算,支付 要解决的问题 瞬时流量带来的服务端压力,造成单个请求增加。打挂服务器,用户体验不佳。 库存有限。造成多卖,超卖。 刷子流量,黄牛抢单,刷订单。黑产!道高一尺魔高一丈。 通用秒杀架构问题分析解决大流量 ...
阅读全文 »

【tomcat调优系列4】Tomcat 类加载机制,和热部署

发表于 2022-11-23 | 分类于 tomcat
Tomcat类加载机制JVM类加载器Java中有3个类加载器,并且你可以自定义加载器。 BoostrapClassLoader 是启动类加载器,由C预演实现,用来加载JVM启动时所需的核心类,比如rt.jar。 ExtClassLoader是扩展类加载器,用来加载\jre\lib\ext 目录下J ...
阅读全文 »
123…16
Littlehui

Littlehui

将军啊将军,我要像将军那样喝酒。

157 日志
48 分类
123 标签
RSS
GitHub 简书
© 2024 Littlehui
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4