02 2022 档案
摘要:前言 本篇文章主要用于总结下常用的微信支付方式对接方式和特点 微信支付产品 如下图,常见的微信支付产品 https://pay.weixin.qq.com/wiki/doc/api/index.html 本篇文章主要针对APP支付,Native支付,小程序支付对接进行总结和整理 APP支付 相关文档
阅读全文
摘要:介绍 URI:Universal Resource Identifier,通用资源标识符 是Web上可用的每种资源 - HTML文档、图像、视频片段、程序,由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位 URL:Uniform Res
阅读全文
摘要:背景 主要记录ElasticSearch分页方式,以及深度分页的问题,出现的原因和深度分页的替代解决方案 问题 ElasticSearch普通分页查询时通过from+size这两个参数实现,类似于MySQL的limit 分页 from:表示当前页码 size:表示每页展示条数 例如: #普通分页查询
阅读全文
摘要:背景 为了评估后台服务的各个接口真实的抗住多少并发,往往在线上用户导量或者大版本发布前,会对核心服务,例如用户服务,社区频道服务,做一轮或多轮压测,根据压测结果,检查各个核心服务的可能出现的漏洞和瓶颈,同时根据压测结果调整线上的机器资源 这里主要记录我们团队使用GoReplay做流量重放的经验和步骤
阅读全文
摘要:相同点 302和301这两个状态码都是表示重定向,服务器返回301和302都,会重定向到新的Url,这个地址可以从响应的Location首部获取 实际效果就是原访问地址A变成重定向后的地址B 区别 301:表示永久重定向,原访问地址A的资源已经被永久地移除了,表示这个资源不可访问了 302:表示临时
阅读全文
摘要:前言 主要介绍MurmurHash算法的特点,以及在业务中的使用场景 介绍 参考百度 Murmur哈希是一种非加密散列函数,适用于一般的基于散列的查找。它在2008年由Austin Appleby创建,在Github上托管,名为“SMHasher” 的测试套件。 它也存在许多变种,所有这些变种都已经
阅读全文
摘要:前言 主要记录使用Kibana导出查询结果的csv文件,以及相关的导出配置 正文 1.Kibana导出步骤 点击Save 保存当前查询 点击Share,生成csv文件 下载csv文件 2.Kibana相关的导出配置 由于Kibana对导出csv文件的大小有限制,约为10MB,这里可以通过修改配置调整
阅读全文
摘要:前言 主要针对目前线上短信被脚本恶意盗刷的情况,用Redis实现滑动窗口限流 示例代码 public void checkCurrentWindowValue(String telNum) { String windowKey = CommonConstant.getNnSmsWindowKey(t
阅读全文
摘要:前言 主要记录下,Redisson中RedLock加锁算法的实现 Redisson分布式锁的缺点 由于Redisson的加锁方式,本质上时是判断某个Redis节点(主节点)是否具有某个key,且Redis集群间会发生异步的主从复制行为,可能会出现重复加锁的问题 在极端情况下, 客户端A加锁成功后,m
阅读全文
摘要:前言 主要介绍Redisson可重入锁,实现可可重入加锁的源码解析 源码分析 这里回头看看加锁的代码如下 <T> RFuture<T> tryLockInnerAsync(long leaseTime, TimeUnit unit, long threadId, RedisStrictCommand
阅读全文