刚果商城
刚果商城
星球推出的 CongoMall(刚果商城) 系统,参照商城系统原型,相继推出 用户、消息、商品、订单、优惠券、支付、网关、购物车 等业务模块,通过商城系统中复杂场景,给出对应解决方案。 根据业务场景复杂度,会在商城业务中使用到这些技术:分布式锁、分布式事务、分布式搜索、分布式缓存、分布式限流、分库分表以及微服务流量监控等。
当业务系统持续开发过程中,会遇到 各式各样的场景问题,马哥根据工作中遇到或者帮助他人已解决的,总结了以下场景,并把解决方案和代码实战放在刚果商城这个系统里。
- 百万数据量导出,如何保障内存安全和导出性能?
- 线上应用运行触发 OOM(内存溢出或泄漏),如何第一时间通知到开发者?
- 如何解决雪花算法在集群环境下,生成 ID 重复问题?
- 按照时间字段分库分表,如何支持业务 ID 高效查询记录?(自定义复合分片算法)
- 订单业务根据买家 ID 进行分库分表,如何支持订单 ID 高效查询记录?(基因法&自定义复合分片算法)
- 如何通过 MyBatis 查询千万数据,并保证内存不溢出?
- MySQL 单表千万级数据,如何避免深分页引起的线上故障?
- 如何将千万数据通过并发的形式高性能导入三方数据库?比如 ElasticSearch。
- 面试高频考点:如何结合复杂业务场景解决缓存穿透、缓存雪崩、缓存击穿?
- 抽象多种策略幂等组件,防止类似于用户重复下单行为。