大数据

flume日志收集系统架构设计

flume日志收集系统架构设计
    flume是当下最为流行的日志收集工具,还有很多同类型的产品原理大多与flume相同,具体可参考:http://www.ttlsa.com/log-system/scribe-chukwa-kafka-flume-log-system-contrast/。本文会假设你已经...

Jenner 5个月前 (07-14) 1965℃ 0评论 1喜欢

NoSQL

redis应用场景与最佳实践

redis应用场景与最佳实践
    Redis作为当下最流行的内存Nosql数据库,有着诸多的应用场景。在不同的应用场景,对Redis的部署、配置以及使用方式都存在的不同地方。根据我的工作经验,把队列、缓存、归并、去重等应用场景的“最佳实践”整理如下。     本文中的所有代码,均可在github上找到:h...

Jenner 5个月前 (07-06) 2841℃ 1评论 7喜欢

PHP

PHP管道通信

PHP管道通信
项目所有源码可在https://github.com/huyanping/simple-fork-php找到。simple-fork-php是php多进程编程框架,以下实现的管道队列为框架的一部分。 管道是IPC(进程通信)最古老的的形式;像在shell中我们使用的ls | wc...

Jenner 1年前 (2015-11-25) 3816℃ 1评论 11喜欢

PHP

php-affinity:修改php进程cpu亲和性

php-affinity:修改php进程cpu亲和性
通过设置cpu亲和性,可以将进程绑定到一个cpu核心上。一般在如下场景我们可能会希望修改进程的cpu亲和性: 频繁的并行运算 线程可伸缩性测试(通过增加cpu核心数量模拟线性扩展) 运行时间敏感的,决定性的进程 向nginx,swoole等开源软件,都提供了设置cpu亲和性的...

Jenner 1年前 (2015-11-23) 3682℃ 2评论 3喜欢

MYSQL

多进程共用mysql链接引发的一个问题

多进程共用mysql链接引发的一个问题
我们知道,每次fork操作系统都会复制进程的所有信息产生一个子进程(部分写时复制),其中就包括socket链接资源符。每个进程在PCB(Process Control Block)中都保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针,现在我...

Jenner 1年前 (2015-10-16) 3815℃ 1评论 0喜欢

PHP

PHP异步编程简述

PHP异步编程简述
概述 异步编程,我们从字面上理解,可以理解为代码非同步执行的。异步编程可以归结为四种模式:回调、事件监听、发布/订阅、promise模式。我们最熟悉的两种模式是回调和事件监听,举两个最简单的javascript例子,一个ajax,一个点击事件的绑定: $.getJSON("uri...

Jenner 1年前 (2015-10-13) 4413℃ 2评论 6喜欢

PHP

基于CURL_MULTI*系列函数的异步HTTP客户端

基于CURL_MULTI*系列函数的异步HTTP客户端
同步与异步 首先我们先通过一段简单的代码理解下什么是异步编程,再讲解如何使用异步HTTP客户端。 一般情况下,我们执行HTTP请求类似如下: $result = $http->get($url, $params); 如果我们有多个HTTP请求要执行,类似如下: $resul...

Jenner 1年前 (2015-09-25) 3862℃ 6评论 0喜欢

PHP

递归与循环

递归与循环
递归与循环 大一学C++的时候,老师说过递归与循环是可以相互转化的,当时好像是用来两重循环解决递归问题,算法的复杂度依然是O(n)。最近发现可以通过模拟实现栈结构通过一重循环实现非递归算法。 递归必须满足以下两个条件: 在每一次调用自己时,必须是(在某种意义上)更接近于解; 必...

Jenner 1年前 (2015-09-06) 3886℃ 0评论 8喜欢