当前位置: 首页 > news >正文

怎么给幼儿园做网站最近几天的新闻

怎么给幼儿园做网站,最近几天的新闻,如何在app上做网站,手机网站网页设计大家好,我是码农先森。 引言 我今天主要介绍的内容是包括但不仅限于 Swoole ,也有一部分 Go 语言的内容。 为什么要介绍 Swoole ? 先说一说背景吧,我们项目组之前要为《香港 01》开发一个积分系统的项目,这个系统的主要功能包…

大家好,我是码农先森。

引言

我今天主要介绍的内容是包括但不仅限于 Swoole ,也有一部分 Go 语言的内容。

为什么要介绍 Swoole ?

先说一说背景吧,我们项目组之前要为《香港 01》开发一个积分系统的项目,这个系统的主要功能包括:会员积分的存储、积分的交易、积分的发放、积分的核销。当时我们项目组的架构师,首先考虑的技术选项是 Go 语言。但是,由于公司的技术栈主要是为 PHP,所以 CTO 在技术选项的审核时,就限定为 PHP 了。之后我们项目组的架构师,就不得已而为之,开始在 PHP 的领域考虑选择 Swoole 异步通信框架。刚开始时还调研了 Laravel-Swoole,因为它需要加载的依赖太多了,会影响程序的运行性能,所以放弃了。最后,还是敲定使用 Swoole 的原生框架。

届于我之前使用 Swoole 进行过一定的开发,所以把我对 Swoole 的了解及开发经验分享给大家,如果有那个地方讲的不好或者有什么问题,你们可以随时打断补充说明。

进程、线程、协程

在介绍 Swoole 之前,还是有必要先介绍一下进程、线程、协程的概念。因为在我们平常的 PHP 编程中,接触这几个概念会比较的少。当然如果对 PHP-FPM 比较熟悉的同学,对进程的概念也会比较的清楚。话不多说,我还是先介绍一下概念吧。

  • 进程是什么?

进程就是应用程序的启动实例。例如:打开一个软件,就是开启了一个进程。进程拥有代码和打开的文件资源,数据资源,独立的内存空间。

  • 线程是什么?

线程属于进程,是程序的执行者。一个进程至少包含一个主线程,也可以有更多的子线程。线程有两种调度策略,一是:分时调度,二是:抢占式调度。

  • 协程是什么?

协程是轻量级线程,协程的创建、切换、挂起、销毁全部为内存操作,消耗是非常低的。协程是属于线程,协程是在线程里执行的。协程的调度是用户手动切换的,所以又叫用户空间线程。协程的调度策略是:协作式调度。

PHP-FPM 与 Swoole 的运行流程

  • PHP-FPM 运行流程图

  • Swoole 运行流程图

  • php-fpm 优缺点

优点:
部署起来简单快捷、调试代码方便、支持平滑重启服务。

缺点:
一次 Http 请求需要加载所有的依赖文件、并发性能不佳。

  • swoole 优缺点

优点:
支持毫秒级的定时器、高性能异步网络通信、常用进程模式。

缺点:
默认不支持平滑重启服务、不支持手动 dump 调试。

Swoole 介绍

  • 这里引用一下官方的定义

Swoole 是一个 PHP 的协程高性能网络通信引擎,使用 C/C++ 语言编写,提供了多种通信协议的网络服务器和客户端模块。可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。

  • Swoole 类图

Swoole 协程使用示例及详解

实战问题案例分析

在我们的积分发放系统中,使用到了 mongodb 存储,但是 swoole 没有提供 mongodb 协程客户端。 那么这种场景下,在连接及操作 Mongodb 时会发生同步阻塞,无法发生协程切换,导致整个进程都会阻塞。在这段时间内,进程将无法再处理新的请求,这使得系统的并发性大大降低。

使用同步的 mongodb 客户端

通过使用 Server->taskCo 来异步化对 mongodb 的操作

总结

今天我主要是介绍了 PHP-FPM 和 Swoole 的内部运行流程及 Swoole 协程的使用方法,Swoole 的应用场景还非常广泛。我经常听到网上有人说,PHP 快凉凉了。其实 Swoole 的出现又让 PHP 出现了新的生机。


欢迎关注、分享、点赞、收藏、在看,我是微信公众号「码农先森」作者。

http://www.15wanjia.com/news/6678.html

相关文章:

  • 深圳做手机网站建设怎么推广自己的网站?
  • 济南网站设计湖南seo优化首选
  • 常营网站建设公司广告联盟骗局
  • 免费b站直播app下载多地优化完善疫情防控措施
  • wordpress wp_tag_cloud搜索优化seo
  • 做哪种网站浏览量比较高2024疫情最新消息今天
  • 手机怎样下载安装建设银行网站搜索引擎优化理解
  • 免费创建app网站网络口碑营销
  • 做旅游的网站百度搜索量
  • wordpress 3d线条铁岭网站seo
  • wordpress 重装教程百度seo排名如何提升
  • 广电如何做视频网站百度搜索广告推广
  • wordpress的缩略图无法显示网站快速排名优化价格
  • 免费网站封装app搭建一个网站需要多少钱?
  • 怎样打开用sql做的网站百度一下百度网页版进入
  • 网站设计行业前景如何在网上推广自己
  • 深圳做网站比较好天涯下载优化大师
  • 百度网站怎么优化排名武汉seo创造者
  • 984网站建设项目企业网站制作流程
  • 公司网站建设费用账务处理友情链接怎么弄
  • 深圳购物网站建如何制作网站链接
  • 做导购类网站代理推广月入5万
  • wordpress remalseo解释
  • 东昌府聊城网站建设百度资源平台
  • 网站建设里怎么写文章搜盘网
  • 网站外包费用怎么做分录从哪里找网络推广公司
  • 郑州高端网站开发免费b站推广网站破解版
  • 个体工商户能够做经营性网站吗广东seo推广方案
  • 基于html5的移动端网站开发搜索引擎优化seo课程总结
  • 做品牌特价的网站有哪些当日网站收录查询统计