摘要:聊天室开发心得 之前在新浪微博工作期间,开发了一个用于在线直播互动的聊天室项目,虽然最后由于高层决策的原因,微博最后没有采用我们的服务,但觉得还是可以将这个项目开发过程分享一下,有一些点可以参考的。 这是最开始的一个架构图: 客户端维护两个链接,一个是与网关的长链,用于接收下推的消息和事件;一个是与 阅读全文
posted @ 2017-12-22 12:50 晓森 阅读(725) 评论(1) 推荐(0) 编辑
摘要:Docker 学习笔记 Docker 能处理的事情包括: + 隔离应用依赖 + 创建应用镜像并进行复制 + 创建容易分发的即启即用的应用 + 允许实例简单、快速的扩展 + 测试应用并随后销毁它们 Docker 背后的想法是创建软件程序可移植的轻量容器,让其可以在任何安装了 Docker 的机器上运行 阅读全文
posted @ 2017-12-16 22:35 晓森 阅读(89) 评论(0) 推荐(0) 编辑
摘要:![](http://images2017.cnblogs.com/blog/455275/201712/455275-20171216215146483-930514962.jpg) ![](http://images2017.cnblogs.com/blog/455275/201712/455275-20171216215157452-1514138967.jpg) ![](http://... 阅读全文
posted @ 2017-12-16 21:54 晓森 阅读(148) 评论(0) 推荐(1) 编辑
摘要:```lua local function decodeNodes(nodes) local table = {} for _, value in ipairs(nodes) do if value.nodes then table[value.key] = decodeNodes(value.nodes) elseif va... 阅读全文
posted @ 2017-07-17 15:57 晓森 阅读(319) 评论(0) 推荐(0) 编辑
摘要:vim /etc/sysctl.conf 然后执行/sbin/sysctl p让参数生效 tcp_tw_reuse和tcp_tw_recycle的区别 官方文档的解释: tcp_tw_recycle BOOLEAN Enable fast recycling TIME WAIT sockets. D 阅读全文
posted @ 2017-05-26 11:11 晓森 阅读(406) 评论(0) 推荐(0) 编辑
摘要:HTTPS协议 HTTPS可以认为是HTTP + TLS。HTTP协议大家耳熟能详了,目前大部分WEB应用和网站都是使用HTTP协议传输的。TLS是传输层加密协议,它的前身是SSL协议,最早由netscape公司于1995年发布,1999年经过IETF讨论和规范后,改名为TLS。如果没有特别说明,S 阅读全文
posted @ 2017-05-14 22:16 晓森 阅读(193) 评论(0) 推荐(0) 编辑
摘要:To globally share data among all the requests handled by the same nginx worker process, encapsulate the shared data into a Lua module, use the Lua req 阅读全文
posted @ 2017-05-10 18:48 晓森 阅读(1098) 评论(0) 推荐(0) 编辑
摘要:1. 删除行首空格 2. 匹配行前或后添加空白行 3. 使用变量替换(使用双引号) 4. 在第一行前插入文本 5. 在最后一行后插入文本 6. 在匹配行前插入一行 7. 在匹配行后插入一行 8. 删除文本中空行和空格组成的行以及 号注释的行(用grep v过滤掉 号注释的行) 9. 其它 阅读全文
posted @ 2017-02-15 11:54 晓森 阅读(150) 评论(0) 推荐(0) 编辑
摘要:之前一段时间,发现线上日志服务器总是会突然丢失日志,碰到问题时搞的很被动。联系运维同学,又总是被往后推(后来看了一下日志归档脚本,运维同学写的bug)。索性自己写了一个脚本,添加到crontab任务中,替换运维同学的脚本。 线上服务器每天大概产生6000 10000个日志文件(部分级别的日志),每个 阅读全文
posted @ 2017-02-07 11:43 晓森 阅读(1669) 评论(0) 推荐(0) 编辑
摘要:开发工作中,经常会碰到进程池或者线程池,或者其它的资源池。在这里,用erlang实现一个简单的进程池。 erlang进程是非常轻量级的,这个进程池的主要目的是用一种通用的方式去管理和限制系统中运行的资源占用。当运行的工作者进程数量达到上限,进程池还可以把任务放到队列中,只要进程资源被释放,排队的任务 阅读全文
posted @ 2017-02-07 10:58 晓森 阅读(1201) 评论(0) 推荐(0) 编辑