但是他们共用一个后台进程 可否让admin 单独开自己的webman进程 这样 api 和webman 就互不干扰! 这里写问题具体描述
唯一的办法,启用三个 Worker.
Worker
一个负责 API,一个负责 admin,剩下的负责代理,根据 url 负责转发业务到不同的 Worker。
看上去很像套了一层 Nginx. 因为 Workerman 的链接全部由 Worker 维持,所以无论如何也至少需要一个代理。
参考 https://www.workerman.net/doc/webman/others/task.html
我现在就用了这个方式! 把admin 转到新的proess
'admin' => [ 'handler' => \Webman\App::class, 'listen' => 'http://0.0.0.0:8686', 'count' => 32, // 进程数 'user' => '', 'group' => '', 'reusePort' => true, 'constructor' => [ 'request_class' => \support\Request::class, // request类设置 'logger' => \support\Log::channel('admin'), // 日志实例 'app_path' => app_path(), // app目录位置 'public_path' => public_path() // public目录位置 ] ]
但是这个admin 业务处理明显慢了,没有admin快了
没有webman 进程快 return [ 'listen' => 'http://0.0.0.0:8787', 'transport' => 'tcp', 'context' => [], 'name' => 'webman', 'count' => cpu_count() 4, 'user' => 'www', 'group' => 'www', 'reusePort' => true, 'event_loop' => '', 'stop_timeout' => 2, 'pid_file' => runtime_path() . '/webman.pid', 'status_file' => runtime_path() . '/webman.status', 'stdout_file' => runtime_path() . '/logs/stdout.log', 'log_file' => runtime_path() . '/logs/workerman.log', 'max_package_size' => 10 1024 * 1024 ];
进程是一样的,只能说你业务慢
proess 里面配置和 admin 和 server里面的webman 是一样的性质么? 不存在什么差异吗
没有差异
大佬 顺便再问下 webman 里面除了redis 还有什么可以共享数据!!!就webman自带的那种
和普通框架一样,数据库也可以
数据库不够快! 有没有全局的变量可以操作!
插件里找下吧
好的 谢谢大佬
唯一的办法,启用三个
Worker
.一个负责 API,一个负责 admin,剩下的负责代理,根据 url 负责转发业务到不同的 Worker。
看上去很像套了一层 Nginx. 因为 Workerman 的链接全部由 Worker 维持,所以无论如何也至少需要一个代理。
参考 https://www.workerman.net/doc/webman/others/task.html
我现在就用了这个方式!
把admin 转到新的proess
但是这个admin 业务处理明显慢了,没有admin快了
没有webman 进程快
return [
'listen' => 'http://0.0.0.0:8787',
'transport' => 'tcp',
'context' => [],
'name' => 'webman',
'count' => cpu_count() 4,
'user' => 'www',
'group' => 'www',
'reusePort' => true,
'event_loop' => '',
'stop_timeout' => 2,
'pid_file' => runtime_path() . '/webman.pid',
'status_file' => runtime_path() . '/webman.status',
'stdout_file' => runtime_path() . '/logs/stdout.log',
'log_file' => runtime_path() . '/logs/workerman.log',
'max_package_size' => 10 1024 * 1024
];
进程是一样的,只能说你业务慢
proess 里面配置和 admin
和
server里面的webman
是一样的性质么?
不存在什么差异吗
没有差异
大佬 顺便再问下
webman 里面除了redis 还有什么可以共享数据!!!就webman自带的那种
和普通框架一样,数据库也可以
数据库不够快!
有没有全局的变量可以操作!
插件里找下吧
好的 谢谢大佬