博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于热部署-理解与总结
阅读量:6819 次
发布时间:2019-06-26

本文共 991 字,大约阅读时间需要 3 分钟。

由于我一直是做php开发,热部署对我而言是一个新概念,比较新鲜。根据查阅,才知道是其他语言才有的。

我更喜欢了解一项技术从原理性来求解,这样一通百通。只需要了解原理,就抓住本质的东西了,细节可能不会。

我总结需要热部署的根源在于如下:
应用程序服务器(tomcat,node.js)为了提高性能。一个代码文件比如a.php(这里只是用php来举例,php无这种机制),
需要的时候会把a.php的内容载入内存,下回访问,直接从内存中拿代码。
所以:即便我修改了a.php代码,更新,应用程序服务器拿的还是内存中的a.php代码。
所以重启应用程序服务器,就能使用新的了。
他们提到,要热部署是为了解决:开发人员修改一个新的功能,无法马上看到效果。需要重启应用程序服务器,才能看到新代码效果。
java,node.js这类语言需要热部署:每次修改代码,都不会马上生效。因为拿的还是内存中的代码,所以每次都需要重启tomcat服务器,tomcat应用服务器就会重新从磁盘拿最新的代码。
解决共同的目标:修改代码,即时看到更改的效果,这样子实现快速开发。

====================================
更进一步总结:每种语言的应用服务器机理不同,php引擎并不是这样子机理。
php是解释性脚本,php引擎每次都是直接从磁盘上拿a.php文件中的代码来执行。开发人员更新了磁盘上的a.php,就是最新效果。
所以难怪php开发是没有热部署的概念,因为压根不需要重启php.exe(php引擎)才能看最新修改效果。

 

java等编译型语言,其实拿代码从内存中拿,避免每次都重新编译,可以提高性能。从内存中直接拿可以免去编译这一步。热部署一般是解决,程序代码修改不能即时生效的问题。是在应用程序服务器进行配置。马上可以看到效果。

参考资料:
1、java的热部署原理
http://tech.it168.com/a2011/0617/1206/000001206051.shtml
2、node.js(一门后端语言)的热部署机制分析
http://www.cnblogs.com/CodeGuy/archive/2013/04/27/3043040.html

转载于:https://www.cnblogs.com/wangtao_20/p/3561085.html

你可能感兴趣的文章
成为运维界的「福尔摩斯」,你还需要3个帮手!
查看>>
PHP、Android、iOS 的恩恩怨怨
查看>>
记一次 MySQL 数据库问题排查
查看>>
【leetcode】best time to buy and sell stocks(i, ii, iii, iv, v)
查看>>
javascript实现简单工厂模式
查看>>
Meteor构建Android应用
查看>>
Windows 10 1809 新发现导致设备启动故障 Bug
查看>>
HTML5幻灯片库reveal.js使用
查看>>
[Leetcode] Evaluate Reverse Polish Notation 计算逆波兰表达式
查看>>
连接React和Redux
查看>>
解决GDB在Mac下不能调试的问题
查看>>
全志A33 lichee Linux内核原子操作(附实测代码)
查看>>
5G来临,一对一直播社交源码如何利用热门机制吸引万千用户? ...
查看>>
全志A33开发板Linux内核定时器编程
查看>>
死磕 java集合之PriorityQueue源码分析
查看>>
2019全球智博会开幕在即,百度无人车、腾讯多个产品将亮相 | 智博会 ...
查看>>
Linux宝塔教程(1) 安装宝塔面板
查看>>
使用HGraphDB进行二度好友推荐
查看>>
好程序员大数据技术分享:Zookeeper集群管理与选举
查看>>
kubernetes资源对象--ResourceQuotas
查看>>