在我看来,swoole的优点是性能高,可定制性强,应用场景广(支持http服务,socket服务,或者自己手撸个tcp服务)。但对于日常使用TP或laravel这类框架的开发者来说说,使用原生的swoole框架来做开发并不是很方便,于是产生了很多以swoole为核心的swoole框架,如easyswoole,Swoft ,SwooleDistributed 等,具体介绍可以看swoole的衍生开源
转载
2024-04-03 15:21:19
81阅读
在传统的web开发模式中,我们知道,每一次php请求,都要经过php文件从磁盘上读取、初始化、词法解析、语法解析、编译等过程,而且还要与nginx或者apache通信,如果再涉及数据库的交互,还要再算上数据库的握手、验权、关闭等操作,可见一次请求的背后其实是有相当繁琐的过程,无疑,这个过程也就带来了相当多的开销!当然,所有的这些资源和内存,在一次请求结束之前,都会得到释放。但是,swoole是常驻
转载
2024-10-21 14:29:59
23阅读
可以借助Swoft下的Bean类操作容器 示例: 将类绑定至容器 use Swoft\Bean\Annotation\Bean; /** * @Bean("imageLogic") */ class ImageLogic extends BaseLogic { /** * 根据id获取图片 * @p
转载
2020-07-19 10:53:00
172阅读
2评论
//获取全局的Request/Response对象 $request = Context::mustGet()->getRequest(); $response = Context::mustGet()->getResponse(); //设置返回格式 默认 UTF-8 $response->wit ...
转载
2021-07-23 22:24:00
70阅读
2评论
2. Swoft-cli使用、修改代码自动重启服务:宿主机代码改动,重启容器可以解决,但是麻烦.swoft 1.x修改代码会有reload重新加载机制,内置了一个不断死循环的监听文件md5值是否发生改变.如果改变,就会改变worker进程.swoft 2.x把监控文件变动并重启服务的代码专门做成一个客户端工具Swoft-cli. 注:生产环境是不需要的,只有在开发中使用.
原创
2023-10-27 09:45:12
85阅读
控制器访问 /hi /** * @Swoft\Bean\Annotation\Mapping\Inject("UserService") * @var UserService */ public $userService; /** * @RequestMapping("/") * @throws T
转载
2020-07-20 20:26:00
278阅读
2评论
PHP在微服务这块跟java与go还是有一定距离的,不管是社区氛围、第三方开源库都有些距离.1. 四个基础的部分:①. 注册与发现
②. 服务熔断
③. 服务限流
④. 配置中心2. 服务注册与发现:微服务中,有订单服务、商品服务、用户服务...,由于压力不同,数据量也不同,很可能是分开部署的.(1). 为什么要服务注册?①. 调用端不可能是写死服务1的ip地址.
②. 原因:
一旦这台服务
原创
2024-02-15 16:21:21
22阅读
一、环境安装:1. dockerFile参考:https://hub.docker.com/r/swoft/swoft
https://hub.docker.com/r/swoft/alphp2. docker启动swoft镜像:①. docker拉取swoft镜像(里面包含了swoft代码):
docker pull swoft/swoft:latest
docker images
原创
2023-10-23 12:03:54
74阅读
1. 启动:①. 启动swoft:
php bin/swoft http:start
②. 查看进程:
ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 7 20:18 ? 00:00:01 swoft-http master process(/var/www/swoft
原创
2023-10-26 10:53:39
123阅读
1. 服务发现:上面服务注册好后,为了演示,服务自己发现自己(即自已调用自己).(1). 获取所有服务列表:
app\Http\MyClient.php:namespace App\Http;
use Swoft\Bean\Annotation\Mapping\Inject;
use Swoft\Consul\Agent;
use Swoft\Http\Server\Annotation\Mapp
原创
2024-02-15 16:18:23
26阅读
文章目录前言一、Docker for windows安装流程1. 系统要求2. 安装步骤⑴ 下载Docker⑵ 安装Linux内核⑶ 安装完成二、swarm安装1. 创建swarm2. 向swarm中添加节点1.管理节点2.工作节点3. 管理swarm中的节点1. 查看节点列表2. 检查单个节点3. 离开swarm 前言Docker是容器虚拟化技术的代表,Swarm是一个由Docker研发团队开
转载
2023-07-11 11:02:35
46阅读
启动命令 php bin/swoft http:start 或者 swoftctl run -c http:start 1 入口文件 bin/swoft.php #!/usr/bin/env php <?php // Bootstrap require_once __DIR__ . '/bootst
转载
2020-07-19 11:15:00
145阅读
2评论
1. 注册服务:app\Consul\RegisterServiceListener.php:namespace App\Consul;
use Swoft\Bean\Annotation\Mapping\Inject;
use Swoft\Consul\Agent;
use Swoft\Event\Annotation\Mapping\Listener;
use Swoft\Event\Even
原创
2024-02-15 16:20:28
27阅读
Docker 以下纯属个人理解: Docker就是一种虚拟机,将环境打包成镜像,等于做了一个Linux系统裁剪。 镜像就是我们安装系统的镜像,里面包含了你的代码和环境。 容器就是一个虚拟机,你可以用一个镜像创建多个容器,等于就是安装了多个虚拟机。 然后用docker exec就可以进入容器执行命令,
原创
2021-10-15 14:01:34
285阅读
传统架构 PHP-FPM + Nginx 传统架构中所使用的Nginx + PHP-FPM的模型中,Nginx由于基于Linux的epoll事件模型一个工作进程worker会同时去处理多个请求,但是
转载
2020-07-14 18:04:00
212阅读
2评论
官网: https://www.swoft.org/ 源码解读: http://naotu.baidu.com/file/814e81c9781b733e04218ac7a0494e2a?token=f009094c71a791c5 号外号外, 欢迎大家 star, 我们开发组定了一个 star 1
转载
2022-10-06 18:59:33
99阅读
官网文档 https://www.swoft.org/documents/v2/basic-components/aop/ 视频教程 https://www.bilibili.com/video/BV12J411j721?p=51 切面 我理解 就是不破坏原有代码逻辑,往里面加入需要执行的前置 后置
转载
2020-07-18 19:55:00
320阅读
2评论
5. 修改解析规则:(1). 是否所有服务需要验证:①. 并不是所有服务都需要token认证,分几种情况:
a. 必须要token
b. 可有可无.如获取最新的新闻、课程数据.
②. 在rpc服务中使用consul-tag来进行配置:
"gw.tokenValid.ICourse=get",
"gw.tokenValid.ICourse=list",
a. 表示请求
原创
2024-02-16 22:37:39
18阅读
一.服务器环境 1.lnmp PHP选最高版本,其他default就好了 redis安装: 进入lnmp解压后的目录,执行: 2.编译安装hiredis 使用Redis客户端,需要安装hiredis库。下载 源码后,执行 3.swoole安装 或者: 一条命令解决 ,但是无法控制版本。 4.虚拟站点
原创
2021-10-14 17:33:09
318阅读
date: 2018 8 01 14:22:17title: swoft| 源码解读系列二: 启动阶段, swoft 都干了些啥?description: 阅读 sowft 框架源码, 了解 sowft 启动阶段的那些事儿 小伙伴刚接触 swoft 的时候会感觉 压力有点大, 更直观的说法是 难.
转载
2018-11-17 19:32:00
118阅读
2评论