为什么 Facebook 不使用 Java 架构?使用 Java 与 PHP 架构相比有哪些优势和劣势?

WBOY
풀어 주다: 2016-06-17 08:32:09
원래의
1624명이 탐색했습니다.

回复内容:

因为PHP是脚本语言,而Java是编译型语言。
大型互联网系统核心问题是scale(扩展,尤其是水平扩展),scale不是一门语言解决的。所以我们会关注这些系统的架构。Facebook主要是一个内容型系统加上消息型系统,它主要面临的问题是数据存取和消息传递,这些部分都和“前端(广义)”无关。
因为核心的问题和“前端(广义)”没有直接关系,是一个独立的问题。所以逻辑是:
  1. Founder使用什么语言;Founder的关系网络里使用哪种语言多。这两个因素第一。
  2. 脚本语言在测试和部署上面有更快速的周期,生态链更加简单。
  3. Java的JDK虽然是火箭技术,不过它的授权从来就是问题,很大影响了整个技术桟的选择。
这些因素考虑下来不用Java是理所应当的,使用其它脚本语言是碰巧发生的一种可能。 语言问题对facebook这种级别的公司,不能说不重要,但他们考量的标准肯定跟我们平常做个项目时不一样。facebook有大量优秀的工程师,可以在语言级别改造php。并且,据说php对facebook来说就是胶水语言。
j2ee的优势在于能让大量低水平工程师协同开发出一个还能用的系统。其它语言没在实际开发过项目,不好评论。
总的感觉是,facebook的水平导致了他们采用什么语言都能完成开发目标,对于一般公司来说,做企业级开发用j2ee或者.net仍然是比较好的选择。想敏捷的话,用php或python好一些。 因为项目开始的时候作者擅长php,问问哪个项目不是这个原因,其他解释说法都是自己意淫 1. facebook 使用php
2. facebook 开发了HipHop,性能大大提高
3. 数据库的分布式架构好,用户登录验证表就俩字段,其他全部拆分出去了
4. 还有其他的 应该是用C/C++ 完成的

PHP本身就是为互联网开发而出现的语言,非常适合Web开发,且类库非常丰富,开发效率非常高,且执行效率也非常不错。
java本来是为嵌入式设备设计的语言,开发Web还是略显笨重,其实大多数的互联网公司都是用PHP的。这两年Android开发又培养了不少做java开发的人。

相比较而言,java的可维护性要比PHP好,java代码的可读性也比PHP强,看到一堆的$符号实在有些晕啊。 php架在前端 后端用了一些java和c++ FB肯定不是PHP的,PHP最多算是个表皮
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿