2020年WEB后端方向:
1)大型站点以后WEB后端:容器+微服务+分布式
WEB建议学GO+JAVA(新的部分,Spring Cloud/各种分布式中间件之类,老的 JAVA EE也不行了)
2)中小型站点:Python/PHP + Golang
不要问Python Web和PHP学哪个,问就两个都学,PHP市场占有量秒杀Python,Python前景秒杀PHP
服务器方面:
异步非阻塞的 Nginx将是趋势,而不是同步阻塞的 Apache
就是因为 Nginx 这样的异步程序,它的适应性更好、并发能力更强
同步阻塞模式存在较多缺陷,并发能力弱、适应性差、慢速请求导致服务不可用
后台接口中调用第三方 API 的场景,同步模式效果极差
过去那些使用 Java、PHP、C++、Python、Ruby 语言开发的同步阻塞模式框架,用的人越来越少
协程:
协程模式,兼顾了同步阻塞的可维护性和异步非阻塞的高并发能力,将会成为未来后端开发领域的主流技术方案
协程模式只需要对已有项目代码进行少量调整就可以运行起来,甚至可以完全兼容老项目,只需要框架层进行兼容即可
使用协程模式,开发者完全不需要学习额外的关键词和函数用法。编码风格与同步模式下是完全一致
各种协程技术里,Go是最耀眼的那一个,协程、通道、静态语言、性能、富编译、标准库丰富、生态完整、Google 等,优势太多了
使用协程后,整个系统的性能、并发能力、稳定性有了巨大提升,过去,线上经常出现一个慢请求导致整个服务器卡住的问题
不存在了。动态语言比静态语言要更加灵活、开发效率更高。而Go更适合编写系统级软件、核心业务。
现阶段Python WEB情况:
知乎 Python 转 Go、小红书 Python 转 JAVA、饿了么 Python 转 JAVA
Python web 要性能没性能,开发效率也没什么优势,重构更是一塌糊涂
Benchmarks 显示PHP比Python性能好很多,PHP所花时间是Python的接近1/3
做大型项目 Python 有动态语言的原罪,这点跟 JAVA 和 Go 之类无法比
Python WEB是否会取代PHP在WEB开发中的地位:
1)两个不同的学科,应用方向不同。
PHP更多是专注于WEB开发,而Python更多的应用是数据分析、爬虫、人工智能,两者应用方式不同
2)确实Python可以做WEB端