- 博客(14)
- 资源 (6)
- 收藏
- 关注
原创 第三方支付接口响应超时处理方法
问题:调用第三方支付接口响应时间超过10秒,导致大量线上订单因为超时失败,该接口是实时返回结果的,而且不是一直都慢,是偶尔慢。 解决方法:增加接口调用监控,预定超时时间9秒(为了安全起见),当接口超过9秒未返回结果,自动将改订单设置为处理中,然后后由定时任务调用查询接口。 这样就把,一个实时返回结果的接口,当成一个异步的接口来用了,总比一大堆失败订单等着财务来找好。这类问题应该很多,因
2016-12-30 15:39:48 25282
原创 spring boot 配置文件后缀的一个坑
Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embed
2016-12-29 18:24:25 44151 1
原创 分布式锁实现思路
在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性 分布式锁的实现思路,跟线程锁的实现原理一样,可以借助memcached或者redis,zookeeper来实现memcached和redis是一样的都是一块大内存 应用A和B同时向memcached发起查询锁(可以是一个ke
2016-12-28 17:10:26 443
原创 单点登陆sso
分布式项目中,一个应用,因为功能不同往往被拆分成了多个应用,后台应用还好,拆就拆了,顶多就是多发起几次RPC调用就好了,但是web应用因为要和用户直接打交道,从一个应用到另一个应用还要在登陆就不好了,单点登陆就是用来解决这个问题的。我这里说的思路是用浏览器的cookie在相同domain(域名的结尾,例如:mazhenhua.test.com和penglei.test.com,那domain就是te
2016-12-28 16:03:16 1530
原创 spring boot 配置Filter过滤器
Filter 过滤器是web开发中很重要的一个组件,下面以一个session登陆的例子介绍下spring boot中如何使用Filter首先要准备一个实现了Filter的接口的类 SessionFilter:import org.slf4j.LoggerFactory;import javax.servlet.*;import javax.servlet.http.HttpServletRequ
2016-12-27 15:01:46 76362 5
原创 spring boot 配置druid连接池
以下是开源中国上对druid的介绍 Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库连接池。 SQLParser Druid可以做什么? 1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件
2016-12-27 14:47:25 639
原创 一个关于第三方支付接口的面试题
因为我从事的工作跟要么是第三方支付清结算系统,或者跟第三方支付,或者银行接口相关的工作 前段时间面试的时候,遇到个问题,现在想想还是面试官思路是错误的。 他问我:对接第三方平台的支付接口,对方返回了一个页面怎么办。 我说:不可能啊,都是我们组装个form表单然后,后台组装好,直接丢到前台一个页面,页面加载的时 候直接让他提交,这样用户是无感知的. 他说:不是这样的,现在就是反回了个
2016-12-26 18:22:54 10437 2
原创 httpClient 4.5 线程池 同时支持https和http
httpClient 4.5版本升级后@Deprecated方法升级,java发送https请求,httpClient连接池同时支持http和https的发送。
2016-12-26 17:50:37 8527
原创 导出https网站的公钥证书
首先通过浏览器访问https的服务器,我用的火狐浏览器,其他浏览器也是类似页面空白处右击 –> 查看页面元素 – > 安全 —> 查看证书 —> 详细信息是不是看到导出按钮了,是不是,对就是他,点他,然后选择个路径保存下即可。可以双击打开查看证书的信息,比如,是哪个机构拥有的,到期日,什么的 这是我自己用JDK生成的,所以是不收信任的,不过没关系,浏览器添加例外就好了。不要问我导出这玩意啥用
2016-12-26 16:38:51 17256 1
原创 https加密通信过程图解
https其实就是建构在SSL/TLS之上的 http协议,所以https比http要占用更多的资源 http使用TCP 三次握手建立连接,客户端和服务器需要交换3个包,https除了 TCP 的三个包,还要加上 ssl握手需要的9个包,所以一共是12个包。http 建立连接,按照下面链接中针对Computer Science House的测试,是114毫秒;https建立连接,耗费436毫秒
2016-12-26 12:16:56 8861 1
原创 让spring boot支持https和http
首先,https和http的区别是https是加密传输的,相当于给数据增加了一个加密的通道,能够提高数据传输的安全性,防止在传输途中被抓包工具等窃取信息,废话不多说,直接上代码,加密传输首先要有个证书,我这里是用JDK自带的工具生成的,keystore.p12 首先application.properties中添加如下:#配置https请求server.port: 8443#加密证书,可以用J
2016-12-20 16:22:53 2951
原创 nginx多端口映射80
在实际项目部署的时候经常是一台服务器部署多个应用,用了很多端口,内部访问还好,直接带上端口号,但是web浏览器访问就太不方便了。 nginx和apache一样都提供了多端口映射成80端口的配置方式。 打开nginx的配置文件nginx.conf 在http下的server后面添加如下,server{ listen 80; server_name mazhenhua.com;
2016-12-16 17:19:23 18165 3
原创 Nginx负载均衡配置
负载均衡是在系统访问量过大时,避免单一服务器受压过大而导致宕机,提高系统的高可用性。环境准备三台装了centOS操作系统的服务器并且都装了nginx,可以参考另外一篇博客linux操作系统安装Nginx 我这里装了三台,ip分别是: A. 192.168.202.130 B. 192.168.202.131 C. 192.168.202.133 其中A服务器作为主服务器,B,C作为负载均衡
2016-12-15 17:48:17 859
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人