写后端Python,nodejs和php哪个更好一些

2024-06-25 09:17:29 浏览

如果你需要后端渲染HTML,需要后端支持热部署,需要后端内置大量Web开发库函数,那就用PHP.因为Python和Node都不支持热部署,都需要手动或自动重启服务进程才能使代码更新生效,而且其语言自带的库函数并不如PHP丰富,而且Python和Node默认没有模板引擎的功能,PHP则天生就支持嵌入到HTML中的模板功能.就算你需要后端只写接口,PHP同样适用,区别在于PHP不再输出HTML而是输出JSON罢了,PHP中用内置的json_encode就能轻松把PHP数组(数据库查询结果)编码为JSON.

写后端Python,nodejs和php哪个

性能方面 Nginx+PHP7-FPM 的组合足够,PHP-FPM容器在底层用C实现了一套多进程架构,利用多核应对并发不是问题.而且PHP-FPM还有进程池机制,运维和开发人员可以把存在严重IO阻塞操作的脚本请求放到一个单独的动态进程池中处理,避免阻塞到其他进程池,也就是说,PHP-FPM能在脚本级别的粗粒度上分离IO阻塞.

先说Docker干啥用的。因为现在物理服务器是很强大的,我们如果在一台物理服务器上只跑一个服务就浪费了,而同时跑很多服务他们又互相影响,比如说一个服务出了内存泄漏把整个服务器的内存都占满了,其他服务都跟着倒霉。所以要把每个服务都隔离起来,让它们只使用自己那部分有限的cpu,内存和磁盘,以及自己依赖的软件包。这个早先是用虚拟机来实现隔离的,但是每个虚拟机都要装自己的操作系统核心,这是对资源有点浪费。于是就有了Docker, 一个机器上可以装十几个到几十个docker,他们共享操作系统核心,占用资源少,启动速度快。但又能提供了资源(cpu, 内存,磁盘等)的一定程度的隔离。

然后使用docker给软件开发又带来了不少额外的好处。比如说运维省心啊,所有物理服务器的配置几乎都是一样的,只是上面跑的docker container不同。以前某个服务访问量大了,需要多几台服务器,你得一台一台准备,现在直接docker配好,要几个就给几个。

还有依赖关系管理也容易了,每个docker image都可以独立配置自己需要的软件包,准备一个配置文件就可以发布,不像以前配置个apache + php就在一台物理主机上从头编译到尾,如果想再多个插件,往往是从头又来一遍,机器多了是受不了的。而且依赖有冲突也没那么怕了,都隔离了嘛。

现在docker的隔离性已经做的非常好了。我觉得docker有个问题是linux宿主和windows宿主的docker实现差异还挺大的。linux是基于linux核心的namespaces和cgroup等来隔离资源,还有libvirt这样的接口实现,基本上能当个虚拟机来用,又很轻量级。windows方面主要是靠微软,微软做得也还不错,前后搞了好几种container方案,前段时候我试过的是基于hyper-v的, 功能应该都在了,所以说现在docker在windows主机上也是能用的, 这对国内庞大的windows服务器保有量也是个福音。不过在windows上面使用docker开发是没问题,生产环境我就不确定了。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。