8 Andyzty

尚未进行身份认证

我要认证

技术讨论欢迎加入qq群261466291

等级
TA的排名 6k+

Redis实现分布式锁

在集群等多服务器中经常要使用到同步处理一下业务,这时普通的事务是满足不要业务需求,需要分布式锁。分布式锁的实现方式有多种,如redis实现分布式锁,zookeeper实现分布式锁等,这篇先实现redis分布式锁。实现原理:1、通过setnx(lock_timeout)实现,如果设置了锁返回1,已经有值没有设置成功返回0。2、死锁问题:通过时间来判断是否过期,如果已经过期,重新加锁。3、针对集群服务器时间不一致问

2016-12-10 22:08:21

Nginx配置HTTPS和HTTP

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer)安全超文本传输协议,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即将HTTP用SSL/TLS协议进行封装,HTTPS的安全基础是SSL/TLS1、HTTP和HTTPS比较2、Nginx上部署HTTPS和HTTP。3、Nginx上层CND和SLB等上配置HTTPS

2016-12-03 13:41:27

支付宝支付-APP支付服务端详解

支付宝APP支付服务端详解前面接了微信支付,相比微信支付,支付宝APP支付提供了支付分装类,下面将实现支付宝APP支付、订单查询、支付结果异步通知、APP支付申请参数说明,以及服务端返回APP端发起支付的签名、商户私钥、支付宝公钥的配置使用等。支付注意事项1、APP支付不能在沙箱测试、只能申请上线测试 2、需要创建RSA密钥设置文档,设置后上传rsa_public_key.pem【开发者公钥,上传

2016-11-18 13:58:57

微信支付-企业付款到个人详解

微信支付-企业付款到个人企业付款实现企业向个人付款,实现付款到用户零钱。项目实现了企业付款到个人和企业付款个人账单查询。代码包括签名实现,双向证书验证,付款功能等支付流程付款功能 企业付款到授权用户的零钱企业付款注意注意: 1、所有接口需要双向证书验证 2、需要设置接口秘钥,签名用详细参考:微信企业付款开发文档项目结构和上一篇一样,需要配置证书以及商户id、appid等支付功能包含企业转账和企

2016-11-17 19:05:26

微信支付-App支付服务端详解

微信App支付服务端详解引言主要实现app支付统一下单、异步通知、调起支付接口、支付订单查询、申请退款、查询退款功能;封装了https对发起退款的证书校验、签名、xml解析等。支付流程具体支付流程参考“微信APP”文档,文档地址APP支付:APP端点击下单—-服务端生成订单,并调起“统一下单”,返回app支付所需参数—–APP端“调起支付接口“,发起支付—-微信服务器端调用服务端回调地址—–服务端按

2016-11-17 14:45:41

Http和Https网络同步请求httpclient和异步请求async-http-client

Http和https网络请求    主要总结一下使用到的网络请求框架,一种是同步网络请求org.apache.httpcomponents的httpclient,另一种是异步网络请求com.ning的async-http-client,总结一下常用的http请求方式封装使用,如post、get、put、delete等,以及涉及到ssl证书https请求的双向证书验证。    一、apach

2016-11-09 16:26:18

Linux下安装NFS共享文件资源

在集群环境下有可能我们需要将实时共享文件,不仅可以节约本地资源而且可以实现所有服务器之间操作文件数据的共享,从而减少文件管理的麻烦以及实现共享文件。譬如,集群服务器之间上传图片、语音等文件资源。NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源,便于安装。但是也存在在容灾备份就有缺陷,当然也可

2016-11-04 18:58:12

Java实现DFA算法对敏感词、广告词过滤功能

开发中经常要处理用户一些文字的提交,所以涉及到了敏感词过滤的功能,参考资料中DFA有穷状态机算法的实现,创建有向图。完成了对敏感词、广告词的过滤,而且效率较好,所以分享一下。具体实现: 1、匹配大小写过滤 2、匹配全角半角过滤 3、匹配过滤停顿词过滤。 4、敏感词重复词过滤。

2016-08-31 11:47:35

Redis Cluster集群的搭建与实践

Redis Cluster集群一、redis-cluster设计Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。其redis-cluster架构图如下:其结构特点:     1、所有的redis节点彼此互联(PI

2016-05-11 00:17:08

zookeeper分布式协调服务的使用一

Zookeeper是一个高性能,分布式的应用协调服务。提供服务:1、集群成员的管理(Group Membership)2、分布式锁(Locking)3、选主(Leader Election)4、同步(Synchronization)5、发布/订阅(Publisher/Subsriber)一、数据模型分层结构属性结构的中的每个节点叫做Znode

2016-04-01 15:20:38

Redis实现Mybatis的二级缓存

一、Mybatis的缓存 通大多数ORM层框架一样,Mybatis自然也提供了对一级缓存和二级缓存的支持。一下是一级缓存和二级缓存的作用于和定义。      1、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造 sqlSession对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相

2016-01-25 17:56:42

Redis实现分布式session功能的共享

最近项目设计集群,实现了一下session的共享功能,其原理是将session保存到分布式缓存数据库中如:redis, memcache等,然后多个服务器tomcat每次请求都通过NoSql数据库查询,如果存在,则获取值;反之存放值。我是通过redis来实现session的共享,其主要有一下两种方法:1、通过tomcat服务器的拓展功能实现 这种方式比较简单,主要是通过继承sessio

2016-01-25 17:00:50

Maven使用yuicompressor-maven-plugin打包压缩css、js文件

最近项目想使用在maven打包的时间压缩js,css文件,采用yuicompressor-maven-plugin插件进行压缩,但只是压缩减小大小,提高请求速度,并没有对js进行混淆。下面就写一下这个插件的使用。假设项目包含如下结构需要把项目中设计的css和js全部压缩,但是需要配出已经压缩过的css,js文件,不然会报错。 shop net.alc

2016-01-19 15:21:17

Mybatis使用技巧

以下就总结一下Mybatis的使用中的一些不太注意的技巧,算是Mybatis的总结笔记。1、插入时主键返回     我们向数据库插入一条记录是,使用Mybatis的是无法返回插入的主键的,而我们需要这个刚插入的主键,可以如下返回         自增主键:使用last_insert_id()查询刚插入的key的id,该方法需要和insert配合使用,是插入之后获取。

2015-12-12 11:26:24

Linux常用到的命令

记录一下日常用到的Linux命令,就当做日志了1、查看Linux 端口号  netstat -apn | grep 802、杀死进程   kill -s 9 pid(tomcat 启动不起来有可能是远程调试端口未关闭 或者tomcat端口未关闭)3、改变文件的权限  chmod 755 文件名4、解压:tar xzvf FileName.tar.gz

2015-12-09 18:43:13

Linux下mysql数据库的自动备份与还原 远程备份和本地备份

Linux系统下Mysql备份还原MySql的还原与备份1 备份    mysqldump -u root -p shop > /home/andy/shop20150910.sql     其中:root为用户名,shop为要备份的数据库,自动会备份到/home/andy/文件目录下   也可以压缩备份    mysqldump -u root -p shop |

2015-12-09 18:32:28

App开放接口api安全性—Token签名sign的设计与实现

前言    在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证,那么这就需要用户提供一些信息,比如用户名密码等,但是为了安全起见让用户暴露的明文密码次数越少越好,我们一般在web项目中,大多数采用保存的session中,然后在存一份到cookie中,来保持用户的回话有效性。但是在app提供的开放

2015-09-27 17:44:55

Nginx+Tomcat负载平衡

Nginx负载均衡最近项目要设计到并发,所以设计项目架构时考虑到用Nginx搭建Tomcat集群,再用Redis搭建分布式Session,下面将一步步分享我摸索的过程。    Nginx虽然小,但是功能方面确实非常的强大,支持反向代理,负载平衡,数据缓存,URL重写,读写分离,动静分离等方面。下面最要说一下负载均衡的配置,下一篇将试验与Redis的结合。Nginx负载均衡调度的

2015-08-17 16:40:05

Nginx配置文档详解

Nginx的配置文档详解,在这儿做个总结,以便以后使用的时间查看。    以下大部分自己整理,部分来自参考   #设置用户#user  nobody;#启动进程数(一般和服务器的CPU相同)#可以使用 $ cat /proc/cpuinfo 查看内核数worker_processes  2;#设置错误文件存放的路径#error_log  logs

2015-08-17 15:52:37

jQuery判断浏览器是移动端还是电脑端自动跳转

一个段小代码,同一个网站针对移动端查看和电脑端查看跳转不同的页面。首先加载jQuery文件。$(function(){ var MobileUA = (function() { var ua = navigator.userAgent.toLowerCase(); var mua = { IOS: /ipod

2015-07-27 19:13:16

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!