思路 使用Channel分布式通讯组件启动一个服务,用于夸进程通信 websocket端: 在websocket启动时通过监听启动事件,在启动事件实现 Channel逻辑 Channel逻辑:连接上Channel服务,订阅一个自定义事件用于接收来自http的通知 接收到http的通知后可以在websocket启动事件中获取到websocket 客户端连接对象,通过连接对象将消息推送到前端。 http端: 连接上Cha...
修改文件: vendor/workerman/webman-framework/src/App.php 在文件中增加方法: /** * 应用别名 * * @param string $app 应用名 * @param string|array|null $bindName 别名 * @return array|string|null */ p...
上一篇文章 webman Gateway 阿里云负载均衡 后端机器一台能发消息 一台不能 这里有负载均衡配置说明 但是是基于workman的,没有提及到webman如何设置 https://www.workerman.net/doc/gateway-worker/how-distributed.html 正确的方法是 1. 打开文件配置文件 config/plugin/webman/gateway-worker/p...
关于探讨 think-validate 验证器 前因 自己比较懒 不想一直使用创建类的方法 以及手动使用规则验证 所以写了一个中间件来按照格式自动调用验证器 而且之前也使用过thinkphp的验证器 感觉用起来比较舒服 中间件代码 下面直接放代码 有需要的同学可以自行调用【没测试过是否会影响性能,只是感觉用起来比较舒服,感兴趣的小伙伴可以自行测试】 <?php namespace app\middlewar...
扩展 视图类 class LayoutRaw extends Raw { public static function render(string $template, array $vars, ?string $app = null, ?string $plugin = null, ?string $layout = null): string { $request = reques...
关于后台查询,自动分页的简单优化 可以看到我这里后台的数据已经达到了1亿,使用后台自动分页已经非常的慢(一点也不夸张的说) 找到后台控制器的继承类 Crud 看了下代码不出意外就是这个查询每次都统计总数造成的 有没有什么办法能缓存每次的统计总数呢? 很简单,那就使用tosql()来判断,根据查询条件来缓存匹配当前总条数 查了一下文档,因为使用的是laravel的paginator,那就意味着可...
🐇 最新更新于2020-06-02 前言 最早接触reactor模型的时候,应该是在参与一个叫zanphp项目的时候,他是一个类似swoole的php拓展项目,当然它们之间的故事我就不多说了,也有一些冲突和迷茫;在那个时间段的PHP发展还是很蓬勃向上的,那时候的滴滴、有赞、百度都有很多很多PHP项目,那时候的原生PHP有许多许多的瓶颈,所以国内那时候涌现了很多使用C来为PHP加速的开发者。 随着PHP慢慢发展,P...
TransferStatistics v2 TransferStatistics v2 使用webman开发的一个应用监控系统,用于查看应用调用记录、请求量、调用耗时、调用分析等。 系统使用 HTTP 接收上报数据;使用 Redis 进行数据汇总统计;使用 MySql 存储统计数据和上报信息 项目地址 https://github.com/hsk99/transfer-statistics 所需环境 PHP版...