PHP队列SplQueue

PHP队列SplQueue
队列(Queue) 异步并发的服务器里经常使用队列实现生产者消费者模型,解决并发排队问题。PHP的SPL标准库中提供了SplQueue扩展内置的队列数据结构。另外PHP的数组也提供了array_pop和array_shift可以使用数组模拟队列数据结构。 SplQueue $queue = new SplQueue; //入队 $queue->push($data); //出队 $dat...

阅读全文>>

阅读全文...

利用msg_id应对通知业务的去重设计

利用msg_id应对通知业务的去重设计
情景 在许多常见场景如支付回调的消息通知,需保障消息可靠性,实行消息至少传达一次的策略,即通知时根据业务方响应的状态码、返回码、响应时间来判定业务有效性,如未响应正常的业务状态,通知服务应重新通知。 msg_id的应用及生成 中大型厂商在做消息通知时都会附带msg_id参数,以此便于业务方回溯、去重 msg_id生成方法没有明确规定,一般需符合以下特点: ...

阅读全文>>

阅读全文...

大小端字节序释义

大小端字节序释义
经常把字节序搞懵,这里记录一下: 小端字节序(big endian),又称主机字节序(低位在前,高位在后) 因为计算机电路设计优先从低位开始处理效率高,所以又称主机字节序。 $data = pack('L*', 256); // 生成无符号长整型(32位,小端字节序)数据 for ($i = 0; $i < strlen($data); $i++) { echo bin2he...

阅读全文>>

阅读全文...