Spring MVC与JAX-RS比较与分析

chenhaozjnubit | | 2016-07-29
现在有越来越多的公司希望能以简单而又贴合Web架构本身的方式公开Web API,因此REST变得越来越重要也就不足为奇了。使用Ajax进行通信的富浏览器端也在朝这个目标不断迈进。这个架构原则提升了万维网的可伸缩性,无论何种应用都能从该原则中受益无穷。 JAX-RS(JSR 311)指的是Java API for RESTful Web Services,Roy Fielding也 [阅读全文]
ė960次浏览 60条评论 0 Spring JAX-RS

解析Spark在腾讯、雅虎、优酷的成功应用

chenhaozjnubit | | 2016-07-28
为了满足挖掘分析与交互式实时查询的计算需求,腾讯大数据使用了Spark平台来支持挖掘分析类计算、交互式实时查询计算以及允许误差范围的快速查 询计算,目前腾讯大数据拥有超过200台的Spark集群,并独立维护Spark和Shark分支。Spark集群已稳定运行2年,我们积累了大量的案例 和运营经验能力,另外多个业务的大数据查询与分析应用,已在陆续上线并稳定运行。在SQL查询性能方面普遍比M [阅读全文]
ė686次浏览 60条评论 0 Spark

Spring事务管理只对出现运行期异常进行回滚

chenhaozjnubit | | 2016-07-27
一、结论 Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚。 如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚。 关于异常的分类一下详细介绍: 1、基本概念 看java的异常结构图   Throwable是所有异常的根,java.lang [阅读全文]
ė955次浏览 60条评论 0 Spring

如何估计Oplog的大小

chenhaozjnubit | | 2016-07-26
用户问题: 最近我的一个复制集的从机出了故障,由于修复的时候耽搁了几个小时,等从机加入到复制集的时候已经超出oplog的有效窗口,只能执行resync 的动作把数据从头复制过来,很占时间。我们知道复制集的oplog size 默认是磁盘容量的5%(最小1G,最大50G), 如果我希望增大oplog的有效窗口,我该如何选择oplog的大小呢? [阅读全文]
ė644次浏览 60条评论 0 MongoDB

mysql decimal、numeric数据类型

chenhaozjnubit | | 2016-07-25
可 能做程序的人都知道,float类型是可以存浮点数(即小数类型),但是float有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理。这样 我们在存取货币值的时候自然遇到问题,我的default值为:0.00而实际存储是0,同样我存取货币为12.00,实际存储是12. 幸好mysql提供了两个数据类型:numeric和decimal,这两种数据类型可以轻松解决上面的问题: [阅读全文]
ė732次浏览 60条评论 0 MySQL

CentOS下SSH无密码登录的配置

chenhaozjnubit | | 2016-07-22
准备工作:     1、确认本机sshd的配置文件(需要root权限) $ gedit /etc/ssh/sshd_config 找到以下内容,并去掉注释符”#“ RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile      .ssh/authorized_ [阅读全文]
ė790次浏览 60条评论 0 centos

Shell脚本中执行sql语句操作mysql的5种方法

chenhaozjnubit | | 2016-07-21
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本。本文描述了在Linux环境下mysql数据库 中,shell脚本下调用sql语句的几种方法,供大家参考。对于脚本输出的结果美化,需要进一步完善和调整。以下为具体的示例及其方法。 1、将SQL语句直接嵌入到shell脚本文件中 代码如下: --演示环境  [阅读全文]
ė655次浏览 60条评论 0 MySQL

两种分布式锁实现方案

chenhaozjnubit | | 2016-07-20
声明 本文为Gleasy原创文章,转载请指明引自Gleasy团队博客 第一节:两种分布式锁实现方案(一) 第二节:两种分布式锁实现方案(二) 一。为何使用分布式锁? 当应用服务器数量超过1台,对相同数据的访问可能造成访问冲突(特别是写冲突)。单纯使用关系数据库比如MYSQL的应用可以借助于事务来实现锁,也可以 使用版本号等实现乐观锁,最大的缺陷就是可用性降 [阅读全文]
ė1195次浏览 60条评论 0 redis zookeeper

mysql 数据同步 出现Slave_IO_Running:No问题的解决方法小结

chenhaozjnubit | | 2016-07-19
mysql replication 中slave机器上有两个关键的进程,死一个都不行,一个是slave_sql_running,一个是Slave_IO_Running,一个负责与主机的io通信,一个负责自己的slave mysql进程。 下面写一下,这两个要是有no了,怎么恢复。。 如果是slave_io_running no了,那么就我个人看有 [阅读全文]
ė859次浏览 60条评论 0 MySQL

Nginx Location配置总结

chenhaozjnubit | | 2016-07-18
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 开头表示区分大小写的正则匹配 ~*  开头表示不区分大小写 [阅读全文]
ė856次浏览 60条评论 0 nginx

Zookeeper开源客户端框架Curator简介

chenhaozjnubit | | 2016-07-15
Curator是Netflix开源的一套ZooKeeper客户端框架. Netflix在使用ZooKeeper的过程中发现ZooKeeper自带的客户端太底层, 应用方在使用的时候需要自己处理很多事情, 于是在它的基础上包装了一下, 提供了一套更好用的客户端框架. Netflix在用ZooKeeper的过程中遇到的问题, 我们也遇到了, 所以开始研究一下, 首先从他在github [阅读全文]
ė1093次浏览 60条评论 0 zookeeper

RabbitMQ 入门指南(Java)

chenhaozjnubit | | 2016-07-14
RabbitMQ是一个受欢迎的消息代理,通常用于应用程序之间或者程序的不同组件之间通过消息来进行集成。本文简单介绍了如何使用 RabbitMQ,假定你已经配置好了rabbitmq服务器。 RabbitMQ是用Erlang,对于主要的编程语言都有驱动或者客户端。我们这里要用的是Java,所以先 [阅读全文]
ė792次浏览 60条评论 0 rabbitmq

基于zookeeper和quartz实现分布式定时调度

chenhaozjnubit | | 2016-07-13
目的 利用zookeeper的特性,来控制quartz实现分布式调度,保证quartz的单点运行,同时解除quartz自身分布式部署对数据库的依赖,保证同一时刻只有一个quartz应用在执行任务。 实现方式 利用zk的分布式独占锁,控制quartz应用执行节点,让拿到独占锁的quartz应用执行调度,没有拿到独占锁的quartz处理等待状态。 [阅读全文]
ė2751次浏览 60条评论 0 zookeeper quartz

阿里DNS API的坑

chenhaozjnubit | | 2016-07-12
str2sign中timestamp要做2次utf-8 encode [阅读全文]
ė762次浏览 60条评论 0

被骗几十万总结出来的Ddos攻击防护经验!

chenhaozjnubit | | 2016-07-12
本人从事网络安全行业20年。有15年防ddos攻击防护经验。被骗了很多回(都说能防300G,500G,买完就防不住了),本文当然重点给大家说明,ddos攻击是什么,中小企业如何防护,用到成本等。 2004年记得是,晚上我带着螺丝刀,晚上2点去机房维护,有ddos攻击,被警察当贼了,汗,那时华夏黑客同盟天天有攻击,远程连接不上得去机房,机房也不知道ddos是什么只知道流量大,一句话 [阅读全文]
ė798次浏览 60条评论 0 Ddos

Curator框架应用

chenhaozjnubit | | 2016-07-11
CuratorFramework Curator框架提供了一套高级的API, 简化了ZooKeeper的操作。 它增加了很多使用ZooKeeper开发的特性,可以处理ZooKeeper集群复杂的连接管理和重试机制。 这些特性包括: 自动化的连接管理: 重新建立到ZooKeeper的连接和重试机制存在一些潜在的错误case。 Curator帮助你处理这些事情,对 [阅读全文]
ė862次浏览 60条评论 0 zookeeper

最近一年工作总结

chenhaozjnubit | | 2016-07-08
从旧东家出来一年了,离开了封闭的开发环境,重新拥抱开源,接触了不少新东西(只能自认为是新的,业内早已风靡) 1.spring 2.mysql 3.maven 4.redis 5.mongo 6.zookeeper 7.angularjs 8.nodejs 9.nginx 1 [阅读全文]
ė646次浏览 60条评论 0

Linux的运行级别和chkconfig用法

chenhaozjnubit | | 2016-07-08
Linux的运行级别和chkconfig用法          一、Linux的运行级别 在装MySQL的时候,才知道了Linux的运行级别这么一回事。汗…自己太水了…下面总结一下:       [阅读全文]
ė697次浏览 60条评论 0 linux

zookeeper watcher使用注意点

chenhaozjnubit | | 2016-07-07
背景  项目中使用了zookeeper进行的类似工作流引擎的工作流转,将一次工作请求拆分了4个节点(S/E/T/L)。S阶段做完后,通过zk的watcher触发下一个E节点进行处理,S和E可能为不同的jvm上,所以需要走一个分布式的消息进行通知。 思路 基于zookeeper做持久化watcher,项目中直接使用zookeeper官方api,大致 [阅读全文]
ė957次浏览 60条评论 0 zookeeper

CentOS设置程序开机自启动的方法

chenhaozjnubit | | 2016-07-06
转自:http://www.centos.bz/2011/09/centos-setup-process-startup-boot/ 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。 1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。 #!/bin/sh # # [阅读全文]
ė979次浏览 61条评论 0 centos

Java中Runnable和Thread的区别

chenhaozjnubit | | 2016-07-05
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义 的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。 下面看例子: package org.thread.demo; [阅读全文]
ė917次浏览 60条评论 0 java

notepad++ 怎么把空格替换成回车

chenhaozjnubit | | 2016-07-01
替换时选中“使用正则表达式” 查找里输入\s 替换里输入\r 然后“全部替换”即可 PS:使用“正则表达式”功能可以实现批量操作。而且,可以将形近或者相似的内容同时搞定 [阅读全文]
ė734次浏览 60条评论 0 notepad++