240 发简信
IP属地:广东
  • Maven Plugin构建模板方案

    1.常见的maven Plugin: 编译: maven-compiler-plugin:编绎阶段指定jdk版本。 资源/文件等拷贝: maven-resources-plu...

  • 120
    数据导入性能优化小记

    1.背景 所在的活动组经常需要导入券码,然后发放券码。这次导入了100w券码,但是非常耗时,需要1个小时。如果有上千万的券,那么时间非常久,需要达到10多个小时,基于这个点排...

  • 120
    引入规则引擎方案

    活动底盘引入规则引擎方案 1.背景 目前上游很多场景是根据客群A发礼包1,客群B发礼包2,这种情况下,这些判断条件大部分是:客群、会员等级、风控等级。但是由于规则只支持固定的...

  • 库存扣减设计

    1.要求 是否同步返回? 绝对不能超卖 是否需要强一致,还是只需要不超卖即可 对系统可用的容忍度 2.方案 2.1 不能容忍超卖,能容忍少买(以Mysql为准) 扣减只能走数...

  • 120
    框架版本号的设计

    1.目前问题 目前由于都是用的snapshot快照版本,并且有些版本没设置版本号,导致加大了引起生产事故的风险,同时也会让maven构建变慢,所以我们需要对现在jar的版本进...

  • 日志-告警

    日志规范 服务指标 1.事前预防(预防降低故障几率) • 监控预警• 日常健康度巡检• 稳定性checklist• 研发规范• 容量规划• 压测• 回滚措施• 容错设计• 依...

  • 通用裂变-邀请设计

    设计需要考虑的要点 1.主态和客态 主态和客态属于在邀请相关的场景下通用的业务名称,主态表示发起邀请的人,客态表示被邀请的人。 2.存储数据 一般的邀请的时候,需要将主态和客...

  • 这里个sync为什么getValue也需要加锁,这样会导致实际上synchronized比Lock多2次锁的竞争,是不是意味着synchronized实际上还要比测试结果更加的快?

    Java练级打怪路----synchronized对比cas

    前言 这篇文章的营养非常有限,只是一个夜黑风高的晚上,突发奇想,如果我要统计一个网站的PV,程序应该怎么写呢? 一种挫逼的写法 上面一个是总数,下面一个是所消耗的时间。 sy...

  • 写错了 应该是多1次

    Java练级打怪路----synchronized对比cas

    前言 这篇文章的营养非常有限,只是一个夜黑风高的晚上,突发奇想,如果我要统计一个网站的PV,程序应该怎么写呢? 一种挫逼的写法 上面一个是总数,下面一个是所消耗的时间。 sy...

  • 120
    高性能排行榜通用设计

    1.整体设计 用户id取模,放到到redis槽位的排行榜(lotter:user:01 ~ lotter:user:127),存放top1000 定时任务定时将分片槽位排行榜...

  • 120
    深度排查整合shardingjdbc失效问题

    1. 背景 最近手头上刚好需要整合mybatis-plus和shardingjdbc项目,那么框架是springboot,所以打算使用mybatis-plus的starter...

  • 120
    亿级用户性能压测调优方案

    1.背景 周年庆活动作为中心的一个重点项目,同时又是直接面向亿级C端用户,线上如果出任何问题,对公司的品牌形象等都有可能产生一定影响,因此中心给予了比较大的重视。经过我们的预...

  • 120
    海量ES数据存储与平滑迁移方案

    1.背景 本人所在的部门是主要负责的职责就是根据活动的玩法来发相关的礼品,我们常见的礼品有:xxx券,券码,以及一些其他合作方的券 对于这些礼品的发放记录我这边数据量是比较大...

  • 接口幂等设计方案

    1.接口的幂等和防重对比 防重设计:主要为了避免产生重复数据,对接口返回没有太多要求。幂等设计:除了避免产生重复数据之外,还要求每次请求都返回一样的结果。 2.幂等方案 1....

  • 120
    索引加锁顺序导致数据库死锁

    场景 活动3kw券码发放的时候,出现券码调用第三方接口发放成功但是数据库的券码状态更新失败 定位 1.查看日志,发现发放券码的时候数据库出现死锁2.看日志出现的原因是回滚了修...

  • 120
    券码系统设计

    1.背景 对于券码系统来说,在一些营销领域是非常常见的,同时也是比较有难度的。主要的点是: 导入的券码量大,对系统会有一定的冲击,后续数据多了也容易造成大表影响性能 发放产生...

  • 120
    Java服务排查CPU 100%

    1.问题现象 16:55 发生告警 16:57 发现服务有3台实例重启 16:58 节点重启完成,功能接口恢复正常 2.结论 安全组攻防调用了管理后台旧接口,由于旧接口是提供...

  • 120
    springboot启动失败无堆栈,如何定位问题

    1.现象 本地项目启动的时候,突然就退出了,也没有任何异常日志,这个时候定位就容易没有思路。 2.定位 这种启动的时候报错,肯定是在spring的初始化的时候出的问题,所以可...

  • 120
    webflux下响应式和非响应式性能比较

    1.非响应式代码 2.响应式代码 性能截图: 总结: 在这个场景下,性能快2倍。如果是io延迟更高的情况下,差距会更加明显。