avatar

Go切片导致的内存泄露

切片泄露的可能 在业务代码的编写上,我们经常会接受来自外部的接口数据,再把他插入到对应的数据结构中去,再进行下一步的业务聚合、裁剪、封装、处理。 像在 PHP 语言,常常会放到数组(array)中。在 Go 语言,会放到切片(sl...

计算机中的程序调用栈

调用栈(call stack) 一叠便条:插入的待办事项放在清单的最前面;读取待办事项时,你只读取最上面的那个,并将其删除。因此这个待办事项清单只有两种操作**:压入**(插入)和弹出(删除并读...

consul介绍与安装

consul介绍 Consul是一个微服务管理软件。支持多数据中心下,分布式高可用的,服务发现和配置共享。采用 Raft 算法,用来保证服务的高可用。 参考文献 软...

Swoole异步任务Task实现

前言 在 Server 程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web 服务器中发送邮件。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。 Swoole 提供了异步任务处理的功能,可以投递一个异步任务到

swoole协程之channel

前言 php业务场景中,我们在多个进程之间的通信一般会通过redis内存缓存来达到效果 在协程间的通信,我们可以使用Channel来实现,在类比php多进程处理的时候,可以将