使用PHP Socket开发Yar TCP服务 (www.laruence.com)

【简介】

Yar支持HTTP和TCP俩种Transporter, HTTP的是基于CURL,PHP中的Yar默认就是走的HTTP Transporter, 这个大家应该都不陌生, 但是基于TCP的, 可能大家会用的少一些。

事实上,我6年前也写过一个C的Yar server框架,叫做Yar-c, 代码地址在Yar-C at Github, 当时我们用这个框架,实现了高性能的微博白名单等服务,以供PHP端使用Yar Client来调用。

只不过,Yar C需要用C来写Handle, 可能对于不少PHPer来说,会稍微有点陌生,那今天我们尝试用PHP来写一个TCP的Server,来介绍下如何实现对Yar RPC协议的处理, 这个例子可以方便的结合Swoole等异步PHP框架,实现一个高性能的Yar TCP Server。 这个过程中, 会让大家了解Yar的RPC通信协议,以及捎带了解下Socket编程。

点击查看全文 >>

@技术头条 2022-05-06 23:37分享 / 原作者微博:@Laruence / 0个评论
赞过的人: IT技术博客大学习
要不要再学学下面的文章?
失败驱动开发 (insights.thoughtworks.cn)
程序员的日常就是要在无数失败中找寻让程序正常运行的那一种组合,成功运行更像是运气与实力的双重作用,这也就有了失败驱动开发(Failure Driven Development)。
by @Thoughtworks 2022-09-15 17:10 分享 查看详情
ARouter 迁移到 TheRouter 使用感受 (juejin.cn)
之前项目中一直用的是 ARouter,但是一直很卡,特意用adb查了一下ARouter的初始化用了131ms。最近发现货拉拉开源了一套更先进的路由框架 TheRouter,还宣传能无缝切换,趁着中秋放假就赶紧拿来试了一下,真香!!
by @kymjs张涛 2022-09-13 10:42 分享 查看详情
向量数据库入坑:传统文本检索方式的降维打击,使用 Faiss 实现向量语义检索 (soulteary.com)
在上一篇文章[《聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss》]中,我们有聊到如何快速入门向量检索技术,借助 Meta AI(Facebook Research)出品的 faiss 实现“最基础的文本内容相似度检索工具”,初步接触到了“语义检索”这种对于传统文本检索方式具备“降维打击”的新兴技术手段。有朋友在聊天中提到,希望能够聊点更具体的,比如基于向量技术实现的语义检索到底比传统文本检索强多少,以及是否有局限性,能不能和市场上大家熟悉的技术产品进行一个简单对比。那么,本篇文章就试着从这个角度来聊聊。
by @技术头条 2022-09-12 22:39 分享 查看详情
Android DeepLink介绍与使用 (cloud.tencent.com)
前段时间公司让调研一下DeepLink,说以后会用到,之前看了很久,并做了个demo,现整理一下,方便以后查阅,如果有幸帮助到其他人就更好了。
by @shengting 2022-09-07 14:30 分享 查看详情
使用上下游思维实现系统解耦 (insights.thoughtworks.cn)
本文将从服务间上下游的思维来讨论如何在系统架构演进过程中,持续的保持服务间的松耦合,实现解耦的目标。
by @Thoughtworks 2022-09-01 15:00 分享 查看详情
JS replaceAll 和 matchAll 使用指南不指北 (www.zhangxinxu.com)

介绍两个比较新的都带有 all 字样的 JS API,replaceAll 和 matchAll,增强了传统的 replace 和 match 方法的能力,看看自己项目中是不是可以用用。
by @技术头条 2022-08-31 23:25 分享 查看详情
如何在 Linux 上使用 Bash 自动化任务 (linux.cn)
通过 Bash 命令行进行自动化任务是极好的一种方式。不论你使用运行在服务器上的 Linux 进行管理日志文件或其他文件,还是你在个人电脑上整理文件以使桌面保持整洁,使用 Bash 的自动化功能会使你的工作变得更轻松。
by @技术头条 2022-08-31 23:20 分享 查看详情
使用 Docker 来运行 HuggingFace 海量模型 (soulteary.com)
本篇文章将分享如何通过 Docker 来在本地快速运行 Hugging Face 上的有趣模型。用比原项目更少的代码,和更短的时间成本将模型跑起来。如果你熟悉 Python,那么绝大多数的模型项目,都可以用 10 分钟左右的时间,完成本地的部署和运行。
by @技术头条 2022-08-31 23:14 分享 查看详情
使用 OpenResty + Consul 实现动态负载均衡 (xuexb.com)
自己实现一个动态负载均衡,重点是不需要 Nginx Reload 。
by @技术头条 2022-08-31 23:09 分享 查看详情
如何面对数据项目开发和管理中的挑战 (insights.thoughtworks.cn)
近几年,随着数据和人工智能越来越受关注,数据与人工智能项目(统称数据项目)也遍地开花,和传统应用类项目相比,数据项目有其自身的特点和挑战,本文就来盘一下这些挑战。
by @Thoughtworks 2022-08-30 16:45 分享 查看详情