【解决方案】
文章平均质量分 72
常见的问题以及常用的解决方案
我是小酒
架构师,资深Java开发工程师,AI爱好者。合作请私信
展开
-
高级鉴权网关设计二:SM2国密+协议SPI可扩展+动态配置
既然是网关其实就是和外部的礼尚往来,每个第三方还有可能不一样,一般常用的有http的form表单,get,post,https,和每个第三方的交互签名方式、加密方式都可能不同,很多时候取决于你是甲方爸爸还是乙方儿子,如果是甲方就好了,对接就按你们的来,你们来对我们,乙方就痛苦了,得适配不同的甲方爸爸,那我们该如何设计呢?下面为大家介绍一种比较常用的方案,附带可扩展设计。关于加密和协议根据两个维度进行扩展,一个是加密类型encryptType,一个是协议类型protocolType,分别定义好枚举。原创 2024-01-08 20:28:56 · 550 阅读 · 0 评论 -
高级鉴权验签方式的实践,技术方案为注解+ASCII排序+多类型多层级动态拼接+RSA加密(或国密SM2)+Base64+Redis滑动窗口限流
虽然大多数企业的流量没有那么大,不过限流还是要有的,毕竟还有外部调用我方系统接口,需要验证访问权限进行,同时防止万一接口并发量大影响我方系统, 所以要增加流控处理;不同的来源在独立配置,可以做到不同来源的限流鉴权设计技术方案:采用注解+ASCII排序+多类型多层级动态拼接+RSA加密(或国密SM2)+一次Base64转码限流设计:采用Redis的zset滑动窗口限流的方式建议用国密,SM2比RSA的效率要高,话不多说,先说方式,后说好处。原创 2024-01-05 17:52:29 · 609 阅读 · 0 评论 -
app几种推送方式和设计方式以及注意事项,完整的诠释
前几个月研究推送,小记一下,网上资料乱糟糟还没有文档说的明白里面有很多其他功能,比如定时,比如别名,比如拉数据等等这些是后续的动作暂且不说,对于推送本身先多理解完善,后续好办除了推送其他我就不说了,看文档接入即可,错误码去文档中找,说一说具体推送设计和注意点,我用的是如下推送个推 小米推送 华为推送 oppo推送 vivo推送个推对于IOS来说是可以的,用的是IOS本身的...原创 2019-02-14 23:55:14 · 2989 阅读 · 0 评论 -
JWT的介绍、代码实现与解决方案
简介JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。校验方式更加简单便捷化,无需通过redis缓存,而是直接根据token取出保存的用户信息,以及对token可用性校验,单点登录更为简单一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名。头部用于描述关于该JWT的最基本的信息,例如其类型...原创 2020-02-19 20:57:26 · 954 阅读 · 0 评论 -
微信公众号之授权获取用户信息(获取unionid)
微信公众号支付微信外浏览器支付业务需求上来了,这些都是必要的获取,特别是unionid,这里使用的依然是IJPay,毕竟封装好用嘛,顶一下,说一下大概流程若要获取用户信息需要scope=snsapi_userinfo,当然,备案的域名是必不可少的,在公众平台的网页授权中设置好,必须使用80端口,不明白可以看上篇文章1、用户点击授权页面URL,将向服务器发起请求服原创 2017-11-13 18:22:38 · 14998 阅读 · 2 评论 -
微信公众号支付(已封装和未封装)
公众号支付的资料还是比较多的,不像h5支付,下面就说说注意的地方官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_3一些基本的设置可以直接看我h5支付中有记载:https://blog.csdn.net/Goligory/article/details/78392505需要APPID,微信支付商户号mch_id,API密...原创 2017-10-30 15:13:26 · 1919 阅读 · 0 评论 -
支付架构调用流程以及常见支付问题解决方案
支付在业务中很重要,这里我根据自己做过的一些支付模块和大家讨论一下支付的一些事支付什么最重要? 安全性:可通过签名验签保证 健壮性:商户通知系统若挂掉,影响发货,所以通知系统要保证其可用性 及时性:及时通知,对商户的发货和订单扭转至关重要 下面我画了一种方案的时序图大家可以借鉴,当然具体业务具体分析,也有其他好的方案时序图解释如上客户端下单...原创 2020-02-15 15:49:43 · 4323 阅读 · 2 评论 -
java微信退款(支持部分退款)
待写原创 2018-02-06 22:31:50 · 12174 阅读 · 10 评论 -
微信h5支付,微信外浏览器支付实现
2021-02-07修改看一下官方文档还是很必要的,知道必不可少的参数是什么:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1下面按步骤跟着我做首先需要APPID,微信支付商户号mch_id,API密钥key,Appsecret(secret),说明在这里https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=3_1 然后设置支付域名,设置路径:商户平原创 2017-10-30 14:15:19 · 50983 阅读 · 35 评论 -
新版支付宝手机网站支付、支付宝pc支付、支付宝无密退款实现
前面我记录过老版本的支付以及退款,这次写的是新版本的支付和退款还是那句话,先去看官方文档:https://openhome.alipay.com/developmentDocument.htm和微信支付一样,用的是IJPay这个封装的jar,必须给大神点个赞,集成了微信支付宝支付,用的也是RSA2官方推荐的方式,给出接口调用即可支付宝接口社区精华帖集锦-接口样例、常见问题:ht原创 2017-10-31 13:46:18 · 6291 阅读 · 0 评论 -
Elasticsearch多索引查询搜索 排序异常问题方案
Elasticsearch6.8HighLevel方式场景:全局搜索,综合搜索,可能有帖子,产品,文章等,要倒序,哪个发布了就在最上面显示出来问题在多索引全局查询时,比如设置了sourceBuilder.sort(“字段名”, SortOrder.DESC);会报错如下Elasticsearch exception [type=class_cast_exception, reason=java.lang.Long cannot be cast to org.apache.lucene.util.原创 2021-03-23 16:25:14 · 2622 阅读 · 2 评论 -
Hibernate JPA的异常java.sql.SQLException: ORA-00932: 数据类型不一致: 应为 TIMESTAMP, 但却获得 BINARY
报错如下代码查询如下Entity如下 //Entity对应的字段如下 @CreatedDate @ApiModelProperty(value = "创建时间") private Date createTime;网上查了好久,根据网上的解决方式怎么都不行,不论用between and 还是大于小于号都不行解决方法:我升级sprin...原创 2020-04-30 16:08:31 · 1133 阅读 · 0 评论 -
关于电商库存扣减的解决方案
电商中很常见的就是库存扣减的问题了,那么究竟有哪些解决方案以及各自的优缺点呢?一共总结有几种方式。原创 2020-03-18 10:23:01 · 6491 阅读 · 0 评论