自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 CONNMIX 开发 WebSocket 用户消息中心

使用websocket做消息中心,通常做法是采用kafka、redis等中间件搭配实现,使用CONNMIX则无需使用中间件,同时分布式集群能力也无需担忧用户量大增后带来的性能问题。

2022-09-06 15:16:20 769 1

原创 CONNMIX 开发 WebSocket 视频弹幕

使用WebSocket制作一个单机版弹幕系统非常简单,但是当单机性能达到瓶颈,需要扩展为集群部署时就会面临很多分布式问题,使用CONNMIX则无需担心这些问题,很少的代码即可完成一个高性能分布式WebSocket集群。...

2022-08-30 17:19:49 796

原创 Laravel + connmix 开发分布式 WebSocket 聊天室

connmix 是一个基于 go + lua 开发面向消息编程的分布式长连接引擎,可用于互联网、即时通讯、APP开发、网络游戏、硬件通讯、智能家居、物联网等领域的开发,支持java,php,go,nodejs 等各种语言的客户端。

2022-05-06 15:22:18 1102

原创 MixPHP V3 开发流程体验 Swoole, Workerman, FPM, CLI-Server 多种运行模式介绍

MixPHP V3 发布后,由于本身支持超多的执行模式,用户可能无从下手,这里先大体介绍一下:CLI-Server: 适合本机开发,零扩展依赖,Windows/MacOS 等全平台支持PHP-FPM: 适合共享开发环境部署,同时适合 admin 等管理后台项目Swoole, Workerman: 适合线上部署,根据需要选择其一即可Swoole 的多种模式:Swoole 多进程同步: 适合需要使用那些协程不支持的第三方库的项目,和 Workerman 一致Swoole 多进程协程: 适合专

2021-08-11 15:54:35 289

原创 MixPHP V3 增加了 PHP-FPM、CLI-Server 的支持

MixPHP V3 主推 Swoole、WorkerMan 驱动,因为这两个平台性能强劲。但是大部分的 PHP 开发者都是开发 API, Web 的程序员,热更新可能是最大的刚性需求,因此我对 Vega 做了扩展,让 MixPHP 增加了 PHP-FPM、CLI-Server 的支持,开发环境可以使用这两种模式,线上部署时切换为性能更强劲的 Swoole、WorkerMan 驱动。开箱难即用PHP 生态需要很多外设,当我们开发时:Swoole:需要安装 swoole 扩展WorkerMan:win

2021-07-29 16:12:34 150

原创 MixPHP V3 发布前的感想, 有哪些变化和特点

最近把 MixPHP 逐步重构到了 V3 版本,之前停更了很长时间,是因为一直在开发 MixGo ,回想起 V2~V2.2 版本中我做了很多尝试,其中特别是 V2.2 我非常激进的直接 all in 单线程协程,当时我是这样想的:MixPHP V2.1 为何从 Reactor+Manager+Worker 多进程改为单线程协程,但是切换后实际上带来了一些问题:很多用户用了一些奇奇怪怪的第3方库,都是依赖 guzzle 和 curl 的,不管是 swoole hook curl 还是 mix/guzzle

2021-07-23 18:17:53 150

原创 使用 mix/vega + mix/db 进行现代化的原生 PHP 开发

最近几年在 javascript、golang 生态中游走,发现很多 npm、go mod 的优点。最近回过头开发 MixPHP V3 ,发现 composer 其实一直都是一个非常优秀的工具,但是 phper 们对 composer 的用法很多都不是很深入,今天我就采用 composer 手撸一个原生项目,帮助大家理解现代化的原生 PHP 开发流程。PHP 的开发者可能是所有语言里被惯坏的最厉害的,因为几乎每个框架都提供了脚手架,像这样:composer create-project这个在 npm

2021-07-07 16:33:33 319 1

原创 Mix VarWatch V1.1.17: Go 监视配置变量数据的变化并执行一些任务

OpenMix 出品:https://openmix.orgMix VarWatch监视配置结构体变量的数据变化并执行一些任务Monitor the data changes of configuration structure variables and perform some tasks源码地址Star 一下不迷路,下次用的时候还能找到https://github.com/mix-php/vegaInstallationgo get github.com/mix-go/varw.

2021-07-01 10:28:21 200

原创 Mix Vega 发布, 支持 Swoole、WorkerMan 的 CLI HTTP 网络框架

Mix VegaVega 是一个用 PHP 编写的 CLI HTTP 网络框架,支持 Swoole、WorkerManOverviewVega 是 MixPHP V3+ 内置的最核心的组件 (可独立使用),参考golang gin mux 开发,它包含 Web 应用处理的大量功能 (数据库处理除外),包括:路由、渲染、参数获取、中间件、文件上传处理等;具有 CLI 模式下强大的兼容性,同时支持 Swoole、WorkerMan, 并且支持 Swoole 的多种进程模型。推荐搭配以下数据库使用:

2021-06-29 19:49:08 234 2

原创 Mac Silicon M1 编译安装 PHP8 & Swoole4.6 ARM64 全过程记录

最近搞了一台 M1 的 Mac mini 准备用这个开发 mixphp v3 版本,之前尝试了几次没有编译成功,今天再次尝试安装成功了,网络上很多人的文章存在问题(可能是系统环境不同),特此分享让后续的人闭坑。面临的问题由于最新版本的 macOS Big Sur 即便关闭安全模式 /usr/lib 也无法写入文件,因此导致 make install 无法安装任何 php 扩展,因此想装 Swoole 只能自行编译安装 php 到 /usr/local 目录% csrutil statusSystem

2021-06-24 13:35:04 1134 2

原创 OpenStr.com 帮助程序员托管视频教程

openstr.com 是我采用 openmix.org 开源框架 MixPHP MixGo 开发的一套创新的 DRM 系统,旨在帮助开发者低成本发布视频教程,获取必要的收益。另外:这两个框架也是我开发的想要发布视频教程遇到的问题开源创造者或编程大神想分享一些技术时:发布到 bilibili 等公开平台则颗粒无收,用爱发电无法持续坚持慕课网只能按他们出的选题来讲课,很难匹配,同时抽佣感人自己部署网站,开发需要时间,同时 OSS 对象存储的流量费用及其高昂支付渠道很难申请传统视频网站对教程视频

2021-05-27 10:49:03 125 1

原创 Mix XDI V1.1 - Golang DI、IoC 依赖注入容器

OpenMix 出品:https://openmix.orgMix XWP通用动态工作池、协程池A dynamic golang worker pool, coroutine poolInstallationgo get github.com/mix-go/xwp单次调度适合处理数据计算、转换等场景先创建一个结构体用来处理任务,使用类型断言转换任务数据类型,例如:i := data.(int)type Foo struct {}func (t *Foo) Do(data i.

2021-05-07 10:30:15 1105

原创 Mix XWP V1.1 - Go 通用动态协程池 WorkerPool

OpenMix 出品:https://openmix.orgMix XWP通用的工作池A common worker poolGithubhttps://github.com/mix-go/xwpInstallationgo get github.com/mix-go/xwpUsage先创建一个结构体用来处理任务,使用类型断言转换任务数据类型,例如:i := data.(int)type Foo struct {}func (t *Foo) Do(data interface.

2021-04-26 17:53:27 146

原创 Mix XCLI V1.1 - Go 命令行交互开发框架

OpenMix 出品:https://openmix.orgMix XCLI命令行交互开发框架CLI Interactive CommanderOverview一个命令行交互开发库,它可以让单个 CLI 程序可执行多个命令,同时它还包括命令行参数获取、全局 panic 捕获与处理、程序后台执行等命令行开发常用功能。Githubhttps://github.com/mix-go/xcliInstallationgo get github.com/mix-go/xcliQuick st.

2021-04-22 11:24:02 272

原创 MixGo V1.1发布, Go 快速开发脚手架工具

Mix Go 是一个基于 Go 进行快速开发的完整系统,类似前端的 Vue CLI,提供:通过 mix-go/mixcli 实现的交互式项目脚手架:可以生成 cli, api, web, grpc 多种项目代码生成的代码开箱即用可选择是否需要 .env 环境配置可选择是否需要 .yml, .json, .toml 等独立配置可选择使用 gorm, xorm 的数据库可选择使用 logrus, zap 的日志库通过 mix-go/xcli 实现的命令行原型开发。基于 mix-go/x

2021-04-13 14:11:20 378

原创 MixGo XFMT 解决 Golang 结构体嵌套格式化打印指针地址

OpenMix 出品:https://openmix.orgMix XFMT可以打印结构体嵌套指针地址内部数据的格式化库Formatting library that can print the internal data of the nested pointer address of the structGithubhttps://github.com/mix-go/xfmtOverview在 Golang 中使用 fmt 打印结构体时,无法打印指针字段内部的数据结构,导致增加 deb.

2020-12-25 12:08:32 425

原创 MixGo V1.0 发布,混合型高性能 Go 框架

Mix Go 是什么Mix Go 是混合型高性能 Go 框架,该框架改造整合了 gin, logrus, gorm, go-redis, jwt-go, gorilla … 等多个流行组件,可以开发 console, api, web, grpc 等各种项目,并且引入了依赖注入、控制反转、事件驱动等高级特征,框架追求简单实用主义,试图让更多开发者以更低的学习成本获得极具生产力的第二编程语言。与其他 Go 框架的差别骨架代码全部基于 bean, event 依赖注入、控制反转、事件驱动库构建,同时内

2020-11-11 14:57:48 917

原创 Mix PHP V2.2 发布,与 go-micro 深度集成的 PHP 微服务开发框架

Mix PHP 是一个基于 Swoole 开发的高性能 PHP 框架,从 2017 年开始经过多年发展收获了很多中小型团队的支持,框架版本也经历了多个版本的迭代:V1.*: 基于 Swoole 的常驻内存型 PHP 高性能框架V2.0: 基于 Swoole 的 FastCGI、常驻内存、协程三模 PHP 高性能框架V2.1: 基于 Swoole 4.4+ 单线程协程 PHP 框架V2.2: 基于 Swoole 4.4+ 单线程协程 PHP 微服务框架 ????微服务开发本次版本更新主要是增加

2020-05-27 11:50:23 222

原创 如何在 MixPHP V2.1 中使用 EasyWeChat

国内中小型公司有大量的微信接入需求,EasyWeChat 是一个非常流行的微信开发库,由于该库是为 FPM 模式的传统框架而打造,因此很多 Swoole 用户不知道如何使用,下面详细介绍一下 MixPHP v2.1 中如何使用。Hook Guzzle首先由于 overtrue/wechat 是基于 GuzzleHttp 开发的,因为 GuzzleHttp 无法直接在 Swo...

2020-01-19 16:21:36 947

原创 MixPHP V2.1 为何从 Reactor+Manager+Worker 多进程改为单线程协程

在 Mix V2.1 之前的版本一直采用与现在主流的 Swoole 框架一样基于多进程 Swoole\Server 开发,V2.1 开始 Mix 全部基于 Swoole 的 Coroutine/Server 开发 (单线程协程),让 Server 也可使用完全同步的编程方式,底层自动实现异步IO。Reactor+Manager+Worker 多进程优缺点Master+Worker 的进程模型是...

2019-11-30 09:58:10 567

原创 Mix PHP V2.1 发布,基于 Swoole 4.4+ 单线程协程 PHP 框架

MixPHP 是什么一个基于 Swoole 开发的高性能 PHP 框架,经过两年发展收获了很多中小型团队的支持,框架版本经历了:V1.*: 基于 Swoole 的常驻内存型 PHP 高性能框架V2.0: 基于 Swoole 的 FastCGI、常驻内存、协程三模 PHP 高性能框架V2.1: 基于 Swoole 4.4+ 单线程协程 PHP 框架 ????更新本次 v2.1 重构版本主要...

2019-10-19 15:02:38 519

原创 Mix PHP V2 实例:AliCloud 短信协程池异步发送守护程序

前些时间我们发布了 Mix PHP V2 实例:协程池异步邮件发送守护程序 范例,这一次我们提供一个使用大厂 SDK 通过 Swoole Hook 协程化来并行执行短信发生任务,本文是一个代码简单、IO性能极其强大的范例。请先升级到 mix-framework >= v2.0.5。本范例依然使用消息队列的方式接收短信发送任务,消息中间件使用:redis生产者通常框架中使用...

2019-05-24 13:10:10 748

原创 Mix PHP V2 生态:让 Guzzle 支持 Swoole 的 Hook 协程

Guzzle 是一个非常流行的 PHP 的 HTTP 客户端,现在各大厂的 SDK 也都开始基于 Guzzle 开发,因为 Swoole 只支持 PHP Stream 的协程 Hook ,而 Guzzle 默认是使用 cURL 扩展的,所以 Mix PHP 开发了 Guzzle Hook,能在不修改源码的情况下让 Guzzle 协程化。Githubhttps://github.com/mix...

2019-05-06 15:57:39 502

原创 Mix PHP V2 新特性:协程、定时器

协程Mix PHP V2 基于 Swoole 4 的 PHP Stream Hook 协程技术开发,协程使用方式与 Golang 几乎一致,包括框架封装的协程池、连接池、命令行处理都大量参考了 Golang 的系统库风格。除了缺少 select case 外,Mix PHP 与 Golang 的协程几乎一致,框架还提供了连接池、协程池、命令行处理这些开箱即用的封装。xgo + Chann...

2019-04-13 21:32:06 269

原创 延迟队列 Delayer 基于 Redis 使用 Golang 开发

Delayer基于 Redis 的延迟消息队列中间件,采用 Golang 开发。参考 有赞延迟队列设计 中的部分设计,优化后实现。项目链接:https://github.com/mixstart/delayer ,有需要的朋友加 Star 哦。应用场景订单超过30分钟未支付,自动关闭订单。订单完成后, 如果用户一直未评价, 5天后自动好评。会员到期前3天,短信通知续费。其他针对某...

2018-10-23 19:58:52 685

原创 Swoole WebSoctet 使用 zlib 压缩之 PHP 与 pako.js

一些理论知识先说一下deflate算法吧,deflate是zip压缩文件的默认算法, 其实deflate现在不光用在zip文件中, 在7z, xz等其他的压缩文件中都用, 实际上deflate只是一种压缩数据流的算法,任何需要流式压缩的地方都可以用。也就是说 zlib 格式, gzip 格式,是文件格式,deflate 是这些文件格式使用的压缩算法。传输方式deflate 压缩后是二进制,...

2018-09-30 17:53:08 625

原创 使用 mixphp 处理其他框架 20% 的高并发部分

经常在群里听到一些朋友问:TP 的项目怎么迁移到 mixphp 来处理高并发,我通常都是回复需要重写,可是一个开发很久的 TP 项目,代码量巨大,又怎么可能会花大量时间成本来重写呢?那么为何我们不尝试换一种思路来解决问题? 在现有框架不变的情况下,引入 mixphp 来处理高并发的部分。瓶颈分析二八效应在任何领域都存在,如果你做过多个项目,你就会发现: 一个项目中...

2018-07-11 20:59:05 707

原创 使用 mixphp 打造多进程异步邮件发送

邮件发送是很常见的需求,由于发送邮件的操作一般是比较耗时的,所以我们一般采用异步处理来提升用户体验,而异步通常我们使用消息队列来实现。传统 MVC 框架由于缺少多进程开发能力,通常是采用同一个脚本执行多次,产生多个进程的方式,mixphp 封装了 TaskExecutor 专用于多进程开发,用户能非常简单的开发出功能完善的高可用多进程应用。下面演示一个异步邮件发送系统的开发过程,涉及知识点...

2018-07-11 20:57:36 1051

原创 MixPHP 独特的SQL构建方式

独特的SQL构建方式MixPHP 对CUD这些写操作都有专用方法,可快速构建,使用方法也与 Yii2 完全一至,而R操作完全不一样,MixPHP 发明了一种新奇的构造方式,非常简单的方式,在定义复杂查询时,可使 SQL 动态控制 WHERE、JOIN ,还具有良好的可读性。一个SQL构建的例子:一个比较常见的需求: “多条件动态筛选网页或API”

2017-11-01 16:57:19 783

原创 MixPHP 与原生 Swoole 并发压力测试

MixPHP 是基于 Swoole 的高性能框架,封装后比原生 Swoole 对比损失了多少性能呢?今天我们来测试一下。环境虚拟机: 4 核,1G 使用 ab 工具压测,命令:ab -n 10000 -c 300 URL原生 Swoole代码如下,输出一个 Hello World。<?php$http = new swoole_http_server("localhost", 9501);$h

2017-10-24 17:09:41 1906

原创 MixPHP/Yii/CodeIgniter 并发压力测试

MixPHP 是一个基于 Swoole 的高性能框架,CodeIgniter 是一个元老级的轻量级框架,Yii 是一个非常流行的框架,以下是三个框架的对比。由于 Yii/CodeIgniter 是基于 Apache/PHP-FPM 的传统框架,如果使用 MixPHP 的正常 Swoole 部署方式来对比,显得有些不公平,由于 MixPHP 同时支持在 Apache/PHP-FPM 中运行,所以此次测

2017-10-24 17:07:05 1111

原创 MixPHP 与 Phalcon 数据库并发性能测试

今天完成了 MixPHP 的 Mysql/Redis 进程级长连接处理,想着做一下压测,试试性能,于是就拿公司在使用的 Phalcon C扩展框架对比一下,对比后的结果吓我一跳,感慨 MixPHP极简架构 + 基于Swoole的MixHttpd + 进程级长连接 带来了如此强大的性能。

2017-09-14 16:46:32 577

原创 MixPHP:基于 Swoole 的常驻内存型 PHP 框架

内置 Server 基于 Swoole 的次世代 PHP 开发框架 (开发文档完善)

2017-09-06 14:54:32 4701

VBScript基础教程

VBScript基础教程 VBScript基础教程 VBScript基础教程 VBScript基础教程 VBScript基础教程

2008-11-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除