整理常见的Mybaits打印执行sql和耗时时间的方案

Mybaits内部封装了JDBC,这样程序开发人员只需要关注sql本身的业务开发从而减少了开发者的开发复杂性, Mybaits 作为一款优化的持久化框架得到各大…

统计网站中用户在线时长的方案

在电商网站中有时候需要需要统计用户在公司的网站中在线时长,然后运营人员通过分析用户在网站中浏览的时长的数据做一些业务调整和规划工作,下面我们整理几种统计用户在网…

两分钟彻底理解Read-Write Through机制

在Cache Aside策略中有概率(很低)出现数据不一致(数据库和缓存的数据不一致),虽然可以使用延迟双删机制来处理,但是还是比较复杂。 于是就出现了 Rea…

如何快速定位和处理线上OOM

在日常的Java开发中,有效的内存管理是保证应用稳定性和可用性的关键指标之一,如果内存使用不当很容易导致内存的泄露甚至出现OOM。常见的导致OOM的原因有如下:…

什么是redis 大key /Big key和Big key的定位以及解决方案

Redis作为开发中常见的中间件之一,其最常见的用途就是缓存数据来提高系统的性能。但是如果缓存使用不当,如下场景:
(1)业务中使用了不恰当的redis数据结构…

如何保证API接口安全?

一、背景介绍

在实际的业务开发过程中,我们常常会碰到需要与第三方互联网公司进行技术对接,例如支付宝支付对接、微信支付对接、高德地图查询对接等等服务,如果你是一…

面试官:说说看你知道的常见限流算法有哪些?它们的优缺点分别是什么?如何基于用户身份限流?

面试题概览:

限流的主要目的是什么,有哪些常见的限流算法?
请说说看计数器限流的基本原理和它存在的问题?
滑动窗口限流算法如何优化计数器限流?请简单用代码实现…

为什么zookeeper慢慢被大厂放弃

zookeeper对我们开发人员来说并不陌生,它在分布式系统中它占据了重要的地位。但是随着互联网的不断发展,现在慢慢的很多的大厂弃用zookeeper了,下面我…

SpringBoot 使用 RestTemplate 发送http请求的正确姿势(封装版)

01、背景介绍

在上一篇《SpringBoot 整合 RestTemplate 轻松搞定网络请求》文章中,我们详细的介绍了RestTemplate工具类的用法…

如何在高并发下使用Redis实现排行榜的功能

在我们日常的生活中排行榜是常见的功能,如游戏的排行榜,销售额的排行榜等等,排行榜不仅可以让用户有更多的激情参与到活动中来,而且可以更好的留存住用户,如下所示的拉…

揭秘完整的手机扫码登录的实现原理

现在我们很多的应用(如微信公众号、B站网页等)都是支持手机扫码登录,在网页上打开应用后就会弹出使用手机扫码登录的页面如下:

此时用户只需使用微信(微信已经是登…

什么是微服务?如何拆分微服务?

在了解微服务之前,我们需要了解一下它的背景。

微服务的背景
大约在 2005年左右,随着互联网公司的快速发展,许多企业开始遇到单体应用程序在可扩展性…

图解 kafka 架构与工作原理

一、认识kafka

Kafka到底是个啥?用来干嘛的?
官方定义如下:

Kafka is used for building real-time data …

写入数据量增加时,如何实现分库分表?

在高并发场景下,为提升数据库性能和安全性,常采用读写分离的优化方案。这种方法利用主从复制技术,将数据复制为多份,从而提升对大量并发读请求的处理能力,增强数据库的…

罗列分布式事务解决方案

1、本地消息表

以订单成功之后扣减库存为例,通过记录一条扣减库存的记录和发送一条消息来保证两个服务之间数据的最终一致性。
(1)优点:实现逻辑简单,开发量小
…

深入解析 Java 反射实现机制

01、什么是反射?
反射 (Reflection) 是 Java 的特征之一,它允许运行中的 Java 程序获取自身的信息,并且可以操作类或对象的内部属性。
…

MongoDB,入门看这一篇足矣!

一、背景介绍

在介绍 MongoDB 之前,我先介绍一下业务开发的时候遇到的痛点,以便大家对它有一个更加清晰的认识!
最近在用数据库存储数据的时候发现这么一个…

点赞系统的设计

随着社交网络的蓬勃发展,点赞功能逐渐成为了一个网站中不可或缺的功能。因为点赞功能不仅可以让用户更直观地了解自己的视频、文章等内容被多少人认可,而且也提升了用户互…

电商设计订单超时未支付关闭的方案整理

电商企业中订单下单后在规定的时间中(常见的是15分钟)用户没有支付就会执行订单关闭操作。下图是订单下单后等待用户支付的图

针对订单超时未关闭的解决方案有很多种…

实战运用模版方法+工厂方法+策略模式打造一套高扩展性的履约系统收单业务

在电商的业务中履约系统、支付系统往往都需要接好几个渠道的业务,如履约系统接收订单的时候,就要区分是充值订单、普通的履约单订单、普通的拆分商品的履约订单等等,不同…