自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 一种优雅的方式整合限流、幂等、防盗刷

大家在工作中肯定遇到过接口被人狂刷的经历,就算没有经历过,在接口开发的过程中,我们也需要对那些容易被刷的接口或者和会消耗公司金钱相关的接口增加防盗刷功能。例如,发送短信接口以及发送邮件等接口,我看了国内很多产品的短信登录接口,基本上都是做了防盗刷,如果不做的话,一夜之间,也许公司都赔完了┭┮﹏┭┮。假设我们正在开发一个发送短信(仅国内)的接口,过程如下/sendSmsphone上面便是一个最简单的向手机号发送短信验证码的接口,不考虑其他和业务相关的操作。我们现在来分析一下,该接口存在的问题(刷接口)。

2024-09-01 12:26:36 1254

原创 ‍️ SpringBoot中MongoDB的那些骚操作用法

这是一个坑,假如User这个Collection中,使用userId作为_id字段的值,这是一个字符串。当我们通过userId查询,修改,删除,可能会出现查询不到对应记录的情况,但是我们传入的userId确是真实存在的,而且这种情况只存在于部分userId中。出现这种情况的原因是因为,MongoTemplate在执行时,会对传入的_id字段进行推断,其会判断传入的这个_id是否是ObjectId类型,如果能转成ObjectId的话,那么MongoTemplate会使用ObjectId对象作为_id。

2024-08-04 16:45:52 1330

原创 网关修改响应码,拯救业务不规范设计

对请求和响应进行修改,是网关最基础的功能。上面在网关中修改Http响应码我个人是不推荐,客户端和服务端之间的Http通信以及响应体结构等,我觉得一开始就应该规定好,并且要符合标准,否则的话,随着项目的迭代,后续都不知道会存在什么问题,而且应该越早改正。

2024-07-20 17:07:42 1083

原创 一次Java性能调优实践【代码+JVM 性能提升70%】

在开始之前,为了大家更好的阅读这篇文章,我会先简要介绍一下这个系统。此系统是一个埋点系统,客户端上报埋点数据之后,可以在后台对上报的埋点数据进行报表分析。比如统计留存、活跃人数、游戏玩家性别比例等等。该系统的报表分析功能的逻辑为:数据获取:从数据库中根据分析时间拉取埋点数据。全局过滤:对从数据库拉取到的埋点数据执行全局过滤。全局过滤可以对埋点数据中的各个参数执行多个且或或操作。全局过滤后的埋点数据才会进行后续的维度和指标计算。

2024-07-10 21:10:37 795

原创 原理与实践:在网关中实现灵活的埋点上报

探讨在网关中实现灵活埋点上报的方法,介绍了埋点上报的原理、客户端与服务器端埋点的优缺点,并详细描述了网关埋点上报的实现流程和原理。通过配置和自定义代码相结合的方式,实现了高扩展性和灵活性。

2024-06-03 22:55:38 463 1

原创 【万字长文】微服务整合Shiro+Jwt,源码分析鉴权实战

Shiro是什么,我这里就不多介绍了,全网也有好多是介绍ShiroJwt整合的教程,我想要写这篇文章,是因为有好多的内容,基本上都是类似的,自己想要的效果,我并没有找到合适的解决方案。支持RBAC通过JWT生成token,做到无状态能够动态的根据用户角色对当前请求路径进行鉴权,而不是使用Shiro提供的注解,把角色,权限等信息写死对Shiro的异常进行统一捕获和处理Subject(主题):当前“用户”是谁,这个“用户”并不是我们现实世界中的人类,你可以这样理解,向Shiro发起操作的就是一个。

2023-08-02 08:36:35 588 1

原创 B站最好的计算机网络视频-计算机网络概述

网络 (Network) 由若干`结点(Node)和连接这些结点的链路(Link)组成。多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互连网)因此,互联网是“网络的网络(Network of Networks)...

2022-08-06 17:12:51 1175

原创 使用Vuepress三步搭建一个漂亮博客

使用VuePress三步搭建一个漂亮博客最终效果,可以到我博客查看my blog需要工具nodeGitGithub账号VuePressVuePress是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容(如文档、博客等),然后 VuePress 会帮助你生成一个静态网站来展示它们。Vuepress不止可以这样还可以是这样开始运行环境需要依赖node,所以在安装之前,请确保操作系统已经安装了node,我运行时的版本为v14.17.

2021-10-27 22:51:08 848 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除