- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 如何让java XMLStreamReader能发出CDATA事件
要对一个带CDATA的XML文档的某些element内容加密,加密后除了被加密的element外,其他内容不能变。这个需求看起来比较简单,为了有比较好的性能,用了java XML stream API。先看看能否把一个XML文档由XMLStreamReader读出,再由XMLStreamWriter写入新的XML文件。代码比较简单:import javax.xml.stream.*;impo
2017-05-19 13:14:47
754
原创 创建docker image时可能会用到的.dockerignore
一直用docker build命名创建docker镜像时都很顺利,没有遇到什么坑。但是今天试图创建一个mysql docker镜像时docker build命令报告如下错误:Error checking context: 'no permission to read from '/home/db-test/db-data/ca-key.pem''.我的第一反应是我的Dockerfile
2017-03-21 11:36:44
1985
原创 docker-compose中的环境变量
使用docker-compose部署一个MySQL server. mysq serverl的数据库文件存放在/var/lib/mysql目录下,为了重启mysql server不至于丢失创建的数据库数据,我们需要mount一个目录到mysql server容器的/var/lib/mysql。用docker-compose创建一个mysql instance大概如下:version: '2'
2017-03-20 15:09:15
4860
1
转载 The Eight Fallacies of Distributed Computing - Peter Deutsch
Essentially everyone, when theyfirst build a distributed application,makes the following eight assumptions.All prove to be false in the longrun and all causebig troubleand painful learningexperience
2016-09-01 13:10:51
455
原创 如何让socket的accept线程安全退出
今天,在linux上实现程序的graceful shutdown功能,通过log发现一个socket的accept线程怎么样也不退出,即使是调用了shutdown和close。回来通过google才发现,调用shutdown和close并不能够让accept()自动返回,郁闷!要调用select()才能实现我要的功能,select除了socket的fd外,还要创建pipe,让selec
2012-11-19 18:01:52
3751
原创 gearmand中的Map/Reduce
除了gearman协议中的定义的提交job到jobServer的下列原语:SUBMIT_JOB,SUBMIT_JOB_BG,SUBMIT_JOB_LOW,SUBMIT_JOB_LOW_BG,SUBMIT_JOB_HIGH,SUBMIT_JOB_HIGH_BG,gearmand添加了两条原语:SUBMIT_REDUCE_JOB和SUBMIT_REDUCE_JOB_BACKGROUND。从名字上看我们
2012-05-27 17:11:30
876
原创 gearmand 中的job持久化
C语言版的gearman实现中,job可以持久化到数据库或者一些流行的Cache产品,当前gearman可以将job持久化到:MySQLPostgressDrizzleSqliteMemcachedRedisTokyocabinet如果job server挂了重启后,job可以从用户所选择的持久化产品中恢复,gearman job server又可以调度没有这些或者完成的job。G
2012-05-08 11:19:31
861
原创 Gearman后台job处理流程
下图是Gearman后台处理流程图 1) worker通过TCP/IP连接到jobServer2) worker向jobServer注册它所支持的功能,这是通过worker向jobServer发送CAN_DO命令完成的。CAN_DO命令只有一个参数: 功能名。如果worker支持多种功能,可以多次调用CAN_DO命令告知jobServer它支持的功能。如果一个功能worker必须
2012-05-04 13:27:36
1271
原创 Gearman 协议工作流程
Gearman协议可以在http://gearman.org/?id=protocol找到 下图是Gearman的一个正常工作流程:1) worker通过TCP/IP连接到jobServer2) worker向jobServer注册它所支持的功能,这是通过worker向jobServer发送CAN_DO命令完成的。CAN_DO命令只有一个参数: 功
2012-05-04 12:57:51
1595
Professional C++ 2nd Edition
2012-06-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人