OpenResty性能的保证 —— 非阻塞IO

在文件开始时,首先要说的是,在OpenResty编程里的原则是非阻塞IO优先。 OpenResty能有如此高性能的表现是因为基于Nginx的事件响应机制和Lua的协程机制。在请求的处理流里,若使用了阻塞式IO
而不使用如cosocket的非阻塞式方法来处理IO,那LuaJIT是不会把控制权交回给Nginx的事件循环(Event Loop),这就导致了

阅读全文

Go:使用 build tag 来自定义构建配置

本文介绍如何通过build tag来根据需要自定义构建应用

阅读全文

Go里的并发和调度器亲和性

亲和性的局限

要理解亲和性的局限,就得先知道本地队列和全局队列发生了什么。
本地队列会被用于除了系统调用外的如channel,select,timer等待等阻塞操作,

阅读全文

可拆箱即用的分布式追踪系统

Reactive Streams

OpenTracing是一款为应用和开源软件包设计的,新的开源分布式追踪标准。具有构建大规模微服务经验的开发人员了解分布式追踪的作用和重要性。即便每个进程都有自己的日志系和指标监控,

阅读全文

优雅重启go应用

无需终止原服务,以更优雅的方式无缝切入到新服务

阅读全文

Reactive Streams 响应式流处理

Reactive Streams

Reactive Streams 是一项倡议,以提供标准的非阻塞异步流处理,包含运行环境(JVM,JavaScript)和网络协议的标准统一

阅读全文

Go最佳实践:如何选择「指针接收器」、「值接收器」

常在定义struct方法时遇到该问题

阅读全文

Linux日志查看常用命令

收集常用的Linux日志查看命令

阅读全文

顺时针螺旋原则

本文主要讲解何为顺时针螺旋原则

阅读全文

Laravel-自动发现扩展包

本文主要讲解Laravel如果基于Composer实现自动发现扩展包

阅读全文

如何选择AES加密模式(CBC、ECB、CTR、OCB、CFB)

如果加密的数据块超过 1 block则不要选择ECB模式
<Excerpt in index | 首页摘要>

阅读全文

Composer常用命令

本文持续更新中…

阅读全文

各种各样的锁

资源竞争机制里不可或缺的组件————锁

阅读全文

持续集成、持续交付、持续部署

本文简单介绍三者的来源和区别

阅读全文

如何在mac上解压分离的压缩文件

本篇文章向各位展示如何解压分离的压缩文件

阅读全文