运维力挺PHP完爆Java
运维力挺PHP完爆Java
netkiller- 发表于3年前
运维力挺PHP完爆Java
  • 发表于 3年前
  • 阅读 6795
  • 收藏 68
  • 点赞 8
  • 评论 63

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

摘要: 运维力挺PHP完爆Java,同时PHP是世界上最好的语言没有之一!!!

运维力挺PHP完爆Java

运维力挺PHP完爆Java,同时PHP是世界上最好的语言没有之一!!!

  1. 半夜爬起来重启Tomcat有什么?

  2. 凌晨升级有没有?占用周末私人时间升级有没有?

  3. 空指针抛出异常崩溃有没有?

  4. 出现异常,一直解决不了有没有?

  5. 只能通过重启让系统苟延残喘的运行有没有?

  6. 抛出异常系统崩溃,业务暂停,被老板吊一顿有没有?运维背黑锅有没有?

  7. 程序问题老板会让开发处理,但会扣你一个运维反应不及时。

  8. 运维要派专人每天开发下载日志文件有没有?

  9. Tomcat不敢用vhost(虚拟机)有没有,使用虚拟机一个系统崩溃全死有没有?

  10. 不能使用虚机机只能多个实例运行有没有?多个实例要开一堆端口有没有?

  11. jsp页面被植入恶意代码有没有?

  12. 数据库链接池出问题有没有?

  13. 服务器监控一个晚上都在报警有没有?

  14. 配置文件搞死人有没有?

从运维角度,运维PHP项目远比Java来的轻松。 而Java网站就要非常费神,你要做好7*24小时待命,手机常开,准备随时重启,随时为开发提供日志,很多开发解决不了的问题,推给运维。 本汪目前为你还没有见过一个稳定健壮的Java程序。什么是稳定健壮的程序,能做到零错误,异常异常抛出,能够长时间稳定运行,不要半夜出事。

Web 运维

PHP Web解决方案主流有两种,一种是 Apache + mod_php 搭档,另一准是fastcgi系的php-fpm 通常跟 Nginx 搭档。

mod_php 与 php-fpm 无论哪种方案,健壮性,稳定性都远远超过Tomcat + Servlet。

理论上 Servlet 应该速度上好于 mod_php 跟 php-fpm。但实际情况并没有很突出,因为系统瓶颈不在应用服务器,而是数据库。

两个WEB解决方案都能通过负载均衡,横向扩展解决应用服务器压力问题。

mod_php 与 php-fpm 原理是一次请求,运行完毕便释放OS资源。无论程序有多烂都能正常运行完,某个功能模块出现问题,其他仍能正常使用。

Servlet 启动后全部载入内存,程序写的不够好,就容易崩溃。一崩溃就是出大事,连首页都进不去,这个矛头都会指向运维。

本地应用运维

什么是本地应用程序,说白了就是在命令行运行的应用。这些应用通常是定时运行,守护进程运行。

大部分Java开发者在Windows上使用Eclipse或者NetBeans一类的集成IDE开发,然后在IDE中编译好后交给运维,通常给过来的程序都运行有问题。

都说Java是跨平台,实际上不同平台之间还是有很大差异的。Java 实质上是夸VM,而无法做到跨平台。如果某个平台上面没有JVM,Java是无法跨过去的。

由于大部分Java开发者使用IDE开发,不涉及命令行处理,只需在IDE集成开发环境中点两个按钮Run跟Build即可,一旦离开IDE无从下手,不清楚在Linux上怎么搞。 我认为Ant,Ivy,Maven 应该是必须掌握的,时至今日很多Java开发者还没有听过Ant。

PHP开发者对linux命令的熟悉程度好于Java开发者,无用操心。Java吗至少陪着搞。

Java 不能访问底层,Jre 是运行在OS之上,守护进程实现起来需要写一个shell,实现启动,提取pid,pid写入文件,记录日志,进入后台运行,停止退出等等功能,这个脚本Java开发者通常搞不定。

PHP 能够调用 pcntl 写出完美守护进程。

本地应用程序一定会涉及多线程,PHP初级程序员培训后就可以写出质量不错的多线程程序,而Java中级软件工程师都未必写出同样质量的程序。 PHP的pcntl + pthreads + libevent 比 Java Thread + NIO 门槛低,学习成本低,上手快,更容易开发出高效稳定的应用程序。

配置复杂度

Java 不敢采用vhost模式运行,而是采用多个实例的方案,是为了降低崩溃后影响的面积,以及升级过程中停机的影响。 多实例问题来了,本可能高内聚的程序,多实例后项目之间产生了通信成本,每个项目部署后都携带大量的配置文件,配置起来十分繁琐,出现问题需要逐一排查。

这也是为什么Java项目一旦出现问题,排查耗时的原因。

安全性

很多人认为Java是编译运行,就安全了,这是大错特错的,实际情况Java网站攻击的机会与漏洞数量一点也不比PHP网站少。

被注入有没有?,被脱库有没有?

现在黑客已经很少搞破坏性攻击了,而更多的手法通常是控制肉鸡,获取有价值的数据。从外围寻找业务漏洞的方式来的更直接有效。

另外无论是Java还是PHP,很多开发人员都拒绝升级,因为每次升级都会扯出很多陈年BUG,谁都不想决解,承担责任。

很多版本厂家已经不在提供技术支持跟后续升级更新,一旦该版本出现漏洞,后果很严重,大家都心知肚明。

神马 PHP 5.2.17, JDK 1.5, Tomcat 5 都是坑,出了问题害的运维背黑锅。

总结

Java 运维应盯紧日志,Java 项目崩溃不是偶然的,是各种抛出异常积累结果。 对于Java项目,重启是万能的,通过脚本监控发现异常就重启,不要试图找出问题的根源,因为日志你永远看不懂,保证业务最重要,随后丢一份日志给开发人员,同时告知老板。

从运维角度看,使用什么语言并不重要,安全,稳定,健壮这才是王道。语言的各种不足可以从架构上,部署上,设计上弥补。

没有一种语言是全能的,每种语言在设计的时候都是针对某个领域或者倾向于解决某领域而设计的。

上面所提的很多问题并不全是语言的问题,可能是容器问题,可能是虚拟机问题。对于运维并不关心这些细节,很多人无法分清楚什么事语言,什么是编译器,什么事虚拟机,我们只看结果。


关注下面二维码是我的公众号。

标签: netkiller PHP
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
netkiller-
粉丝 661
博文 235
码字总数 316326
作品 10
评论 (63)
winktj
又是掀起骂战来给公众号做宣传
chuckpu
。。。看开发水平吧
frankboy_cpu
不懂java也不了解php的主
西夏一品堂
楼主带着情绪
天天可乐
就这屌德行还做运维?公司一堆vhost运行上千个系统也不见你说的这破败不堪,广告倒是打的挺妙的~74
cooliean
电子科大的朋友
eechen
PHP-FPM工作进程是常驻的,可以跟MySQL建立持久连接(连接池).脚本中的所有量(持久连接除外)只存在于每次请求的生命周期中.所以说PHP这种多进程FastCGI的运行模式是及其稳定和健壮的,大大方便了开发和运维.另外PHP内置的丰富的库函数底层都是C实现的,而Java核心类库rt.jar和第三方库基本都是Java实现的,库性能上Java处于劣势.PHP7性能大幅提升,速度翻倍,内存占用减少一半,实力更加今非昔比.Javaer颤抖吧.
madudu
不懂java的人!
黄正文
玩具飞机和真飞机的差别,呵呵
羊八井
这种文章为什么可以被推荐????
clouddyy
用python吧
xmut

引用来自“eechen”的评论

PHP-FPM工作进程是常驻的,可以跟MySQL建立持久连接(连接池).脚本中的所有量(持久连接除外)只存在于每次请求的生命周期中.所以说PHP这种多进程FastCGI的运行模式是及其稳定和健壮的,大大方便了开发和运维.另外PHP内置的丰富的库函数底层都是C实现的,而Java核心类库rt.jar和第三方库基本都是Java实现的,库性能上Java处于劣势.PHP7性能大幅提升,速度翻倍,内存占用减少一半,实力更加今非昔比.Javaer颤抖吧.
送你一句话:你这么看中性能,为什么不使用C或C++? 另外,我终于明白了,马云果然有钱,要不然也不会养一大堆java白痴 o(︶︿︶)o 唉
引鸩怼孑
又一群在java论坛上 水来水去的主 php 跟jsp对比可以论述优劣 动不动跟java比 好比拿一根驴毛跟狮子作比较 你看驴毛多轻便28
君枫

引用来自“xmut”的评论

引用来自“eechen”的评论

PHP-FPM工作进程是常驻的,可以跟MySQL建立持久连接(连接池).脚本中的所有量(持久连接除外)只存在于每次请求的生命周期中.所以说PHP这种多进程FastCGI的运行模式是及其稳定和健壮的,大大方便了开发和运维.另外PHP内置的丰富的库函数底层都是C实现的,而Java核心类库rt.jar和第三方库基本都是Java实现的,库性能上Java处于劣势.PHP7性能大幅提升,速度翻倍,内存占用减少一半,实力更加今非昔比.Javaer颤抖吧.
送你一句话:你这么看中性能,为什么不使用C或C++? 另外,我终于明白了,马云果然有钱,要不然也不会养一大堆java白痴 o(︶︿︶)o 唉

额,,,,
ericsoul
php不知道,但是 本文描述的 Java还真有这么回事,当然可能也是程序员水平的问题。不过Java程序员,都是 try catch的。程序报错就是一大堆,堆栈,非代码开发人员,无法看懂。根本没法看。
回头陌路
db
梦朝思夕
我不同意,那是运维水平底下加上开发水准低的必然结果
yong230
从php7性能比php5提升多少倍就知道之前的php性能有多差,无知的楼主,笑而不语....202020
创e
python呵呵了
回去干活
牛B的java不需要运维.
×
netkiller-
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: