Lua脚本发送http请求拉取数据

Lua脚本发送http请求拉取数据

最近nginx服务由于压力过大需要用lua对请求进行一次初步过滤,需要从redis集群拉取相应pid集合,redis集群可用http的post请求获取数据,借此机会接触了lua脚本。

http的post访问模块HttpUtil.lua如下:

[……]

Read more

Zookeeper添加Acl权限以及利用权限修改数据

Zookeeper添加Acl权限以及利用权限修改数据

最近在对Zookeeper进行配置管理时需要对权限进行控制,以便在zk地址暴露出来之后被以防被恶意篡改数据。在官方文档的描述中说明了以下四种权限认证方式:

  • world has a single id, anyone, that represents anyone.
  • auth doesn’t use any id, represents any authenticated user.
  • digest uses a username:password string to generate MD5 hash which is then used as an ACL ID identity. Authentication is done by sending the username:password in clear text. When used in the ACL the expression will be the username:base64 encoded SHA1 password digest.
  • ip uses the client host IP as an ACL ID identity. The ACL expression is of the form addr/bits where the most significant bits of addr are matched against the most significant bits of the client host IP.

[……]

Read more

Hadoop源码分析:TextInputFormat类对数据的分片

Hadoop源码分析:TextInputFormat类对数据的分片

org.apache.hadoop.mapreduce.InputFormat类是Hadoop执行MR任务时对数据格式如何读取的描述,在官方的API中是这样描述的:

1. Validate the input-specification of the job.

2. Split-up the input file(s) into logical InputSplits, each of which is then assigned to an individual Mapper.

3. Provide the RecordReader implementation to be used to glean input records from the logical InputSplit for processing by the Mapper.

[……]

Read more

Linux下常用Shell命令

Linux下常用Shell命令

linux用了这么长时间,每天都在跟shell打交道,shell命令很多很杂,现在做一个整理,也方便自己查看。

[……]

Read more

js对json对象的clone

js对json对象的clone

最近在对前端内容进行debug时发现有个地方的json对象在当前页面一直没有做复制操作,从而导致其内容不断被修改使页面显得混乱,查了一些关于对象复制的相关资料,总结一下吧。

[……]

Read more

使用Mysql存储过程进行动态Sql查询

使用Mysql存储过程进行动态Sql查询

今天遇到一个sql查询的问题,有一个数据统计的查询,类似于统计每天的数据量。

问题是不一定每天都有这个量,也就是说在数据库中某些天是无信息的,是一种稀疏的状态,这时在做简单查询时列表中就会出现某些天的量不存在的情况,但在前端的图表中的显示必须为0,这种情况有三种解决方案:

  • 方案一:利用简单查询查询出来,然后通过后台代码补完数据发送到前端。这种方案并不是不可以,但是对于缺省日期的处理还是比较麻烦的,因此不推荐。
  • 方案二:建立一个日期表,将日期事先录入,然后再进行区间查询,这种方法虽然可以解决问题,但方法总觉得不合适,且需要制定定时任务,每天把这个表日期补全。
  • 方案三:通过sql补完数据直接查询出来。这里有个问题就是在mysql中没有这种直接可以获得指定日期区间内的所有日期的函数,因此想到的处理办法就是利用存储过程。

[……]

Read more