转转团队批量插入终极优化技巧

PS:
mp的saveBatch原理

rewriteBatchStatements=true的作用:

直接在数据库连接后加上参数

PS:
mp的saveBatch原理

rewriteBatchStatements=true的作用:

直接在数据库连接后加上参数
就是禁止 事务里禁止进行远程调用这种行为

用户下单后会给其补发积分,补发积分是订单模块通过发消息实现的
这里会有个问题,就是权益模块在反查订单时,如果给权益发消息发积分是异步调用就可能会权益系统出现订
单查不到的问题,因为事务的隔离级别的问题(事务没提交,不是同一事务下,是无法查到没提交的事务的)
如果是同步调用的问题,就必查不到的
要怎么解决呢?rpc调用这种事情是不能放在事务内的

MongoDB是面向文档的NoSQL数据库
存储结构

文档:MongoDB存储的基本单位,存储类型为BSON,json的二进制,文本格式和json差不多
特性
集合(相当于表,但结构无约束的),文档(即 记录)
支持多种索引
支持ACID,4.2还支持分布式事务(早期版本中仅支持单文档事务,但从 4.0 版本开始支持多文档事
务)
支持 mapreduce,通过分治的方式完成复杂的聚合任务
CRUD:直接使用Spring JPA提供的API
spring-data-examples/mongodb/kotlin/src/test/kotlin/example/springdata/mongodb/people/TemplateTests.kt at main · spring-projects/spring-data-examples
首先是新入职场的Landing过程:
因为游族属于我的第一段实习,然后刚进去也是什么都不懂,然后虽然有leader,mentor向我介绍了部门的大体情况,但是这也只能让我对部门有大致的了解,然后部门内的各个平台也是让我眼花缭乱的,日志平台如何操作查看日志,监控平台如何监控线上机器情况,拿到执行失败的请求日志traceId如何进行排查,如何远程debug调试代码,代码平台的PR的提交流程规范这些。然后就是各种内部术语啊,比如说业务接口、服务接口、肉机等等术语,然后一开始我对这些都是完全没概念的,这些也确实影响了我的工作效率。
而且进去,框架也是公司自研的,游戏服务端开发
实习要写好简历应该思考以下问题
解决了什么问题,为什么要这么做,项目用到的技术栈是什么,框架是什么,是开源还是自研的,
自研的带来了什么收益。你这个产出的技术方案是什么,你做了哪些调研
部门的业务是什么,你们是怎么和上下游进行对接的,你们部门的价值是什么
基于责任链模式实现跨服活动奖励结算流程,依次处理输出排行、击杀奖励、VIP加成等结算触点,基
于配置驱动实现高扩展设计,使用Kotlin单例对象减少执行开销, 线上结算流程配置灵活性提升显著
基于kotlin的协程实现worldactor内部并发查询世界数据,优化查询性能
优化战斗服务,增加熔断器功能,防止因战斗节点导致级联失败
策划配置表,xlxs-streamer
caffine
Spring data mongodb 初始化数据时 锁性能问题
任务活动框架重构
由于线上bug问题,需要对任务活动框架重构。
活动分类拆分装成不同Map,然后异步化改造,支持任务编排