Golang 统计字符串字数
本周阅读清单20180423
本周阅读清单20180416
本周阅读清单20180410
PHP知识整理之——PHP基础、WEB安全、网络
本篇文章是PHP知识系统整理系列之——PHP基础、WEB安全、网络,包括 PSR 规范,PHP7特性和性能提升,HTTP、HTTPS、TCP、WebSocket协议,WEB安全和计算机网络的内容。以及 PHP session 回收,php-fpm 调优,HTTP/2 等知识点。
本周阅读清单20180402
PHP写时复制(Copy On Write)
本周阅读清单20180326
一致性哈希算法及其在分布式系统中的应用
摘要
本文将会从实际应用场景出发,介绍一致性哈希算法(Consistent Hashing)及其在分布式系统中的应用。首先本文会描述一个在日常开发中经常会遇到的问题场景,借此介绍一致性哈希算法以及这个算法如何解决此问题;接下来会对这个算法进行相对详细的描述,并讨论一些如虚拟节点等与此算法应用相关的话题。
为什么 Laravel 会重复执行同一个队列任务?
软件设计思想:先整体轮廓,再完善细节部分
《画家与黑客》一书作者在谈到软件设计思想的时候很有启发,尤其是做需求,如果你一开始就纠结细节而看不到整体,你可能花费很多时间还达不到预期的效果。要先有一个整体的轮廓,再完善各个部分和细节,或做出调整,这样你一开始就掌握全局,这应该是正确的方式。作者拿了印刷,雕刻,绘画,油画等艺术领域的例子来说明软件开发也应该如此。
Laravel Redis 多个进程同时取队列问题
开启多个进程处理队列会重复读取 Redis 中队列吗?是否因此导致重复执行任务?
使用 Supervisor 监听 Laravel 队列任务,其中 Supervisor 的配置如下:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/xxx.cn/artisan queue:work –queue=sendfile –tries=3 –daemon
autostart=true
autorestart=true
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/xxx.cn/worker.log
注意 numprocs = 8,代表开启 8 个进程来执行 command 中的命令。