本文参考使用Docker打造自己的云平台编写 本文基于 Docker Swarm Mode 实现容器化,虽然目前 k8s 更火一些,但实在是太重了,以后再折腾。使用 traefik 来实现反向代理、负载均衡,traefik 还自带了服务发现、后端断路器、健康检查等,相当于是自带服务发现的 nginx

今天来看看经常使用的数组排序函数如 sort, rsort, asort, arsort, ksort, krsort 。话不多说直接找 sort 函数吧。 在 php7.3 源码中搜索 PHP_FUNCTION(sort) 可以搜到如下 其中 .h 文件是C语言的头文件,直接打开 .c 文件。so

之前用Beyond Compare对比文件,功能非常强大。但是试用期到了就用不了了,而且授权非常的贵,很多功能一般也用不到。 一般文件对比直接用系统自带的diff命令就可以了。但是,如果临时复制粘贴不同版本文件对比,又不想为了对比而创建文件,JetBrains家IDE对比功能就派上用场了。 Mac下

背景说明目前公司采用微服务架构,主要开发语言为PHP,通过Swoole开启TCP服务供业务端调用。通过公司内部编写的PHP扩展封装客户端调用逻辑。 需求暂定使用Go语言开发新的业务,并提供TCP服务。其中老的PHP项目要通过原有的客户端扩展实现无修改调用。 解决方案通过阅读客户端扩展源码了解调用逻辑

背景说明来说说当PHP出现E_ERROR级别致命的运行时错误的问题定位方法。例如像Fatal error: Allowed memory size of内存溢出这种。当出现这种错误时会导致程序直接退出,PHP的error log中会记录一条错误日志说明报错的具体文件和代码行数,其它的任何信息都没有了

队列的参数即声明Queues时的Arguments。消息的属性即向Exchange发布消息时的Properties。 Queues ArgumentsMessage TTL消息的存活时间,写入队列后被消费前可以存活的时间单位毫秒,通过x-message-ttl属性设置。 Auto expire队列的

简介消息队列用来解决不同项目间通信、业务解耦。消息队列有很多种比如用Redis实现的轻量级消息队列。RabbitMQ是消息队列的一种,基于AMQP协议,用Erlang语言编写,属于一种消息队列中间件。 消息机制 Connection 链接真实的TCP链接 Channel 信道基于Connection