这很技术丨3分钟了解Web架构小知识
来源:    发布时间: 2019-01-11 03:25   34 次浏览   大小:  16px  14px  12px
这很技术丨3分钟了解Web架构小知识

  很多初创的小团队并没有架构师,而且就算有,人家讲话的时候你一脸懵逼也不合适啊。

  一开始你只是参与一个小项目,架构好像对你来说并不是什么重要的事,大家讨论下就马上开发,一台服务器轻松搞定操作系统+开发语言+应用程序+数据库。可是,突然有一天你的项目突然由于什么不可知的原因你的项目收到广泛专注!!!使用人数激增!!!

  于是就很容易涌现各种性能问题、负载问题,如果处理不当也许就错失风投良机了。。。(就快要成为下一个facebook了!)

  但是你也许会说,我只是一只产品狗子,做架构有架构师啊~~但是,我要说的是,很多初创的小团队并没有架构师,而且就算有,人家讲话的时候你一脸懵逼也不合适啊。。。

  其实就是提供程序运行环境的Web服务器,可以向浏览器等Web客户端提供文档文件让全世界浏览和下载。使用最多的 web服务器软件有两个:微软的信息服务器(iis),和Apache。

  Facebook采用的技术架构LAMP(Linux、Apache、MySQL、PHP),其中就有Apache。Apache是目前世界使用排名第一的Web服务器软件,它可以运行在几乎所有广泛使用的计算机平台上。

  这个很容易引起 “哪种编程语言是最好的?”世界之争。。。大家可以直接看2016编程语言排行榜,但并不代表本主编立场。

  值得一提的是,Facebook作为开源第一大厂,自家开发并且开源了HipHop for PHP,(yoyoyo很嘻哈么)这是一个PHP到C++的转换程序,目的是旨在加速和优化PHP,HipHop for PHP 比纯PHP有高一倍的效能,从而大大减少了服务器的需求,流弊啊。。。

  类库解决代码或者是模块级别的复用或者对复杂度的封装问题。框架则是对模式级别的复用和对程序组织的规范。常用的框架有,Spring Framework (Java开源 J2EE框架)Struts (Java开源 Web框架)Hibernate (Java开源 持久层框架)。

  是一种把网络请求分散到一个服务器集群中的可用服务器上去,通过管理进入的Web数据流量和增加有效的网络带宽的硬件设备。能够直接通过智能交换机实现,处理能力更强,但问题就是:贵!如图传说中的f5

  价格低,甚至有免费开源的负载均衡策略,但效果肯定不如硬件,但一般中型网站够用。目前使用最为广泛的负载均衡软件是Nginx、LVS、HAProxy。

  facebook使用MySQL、Memcached、Hadoop’s HBase实现持久化。memcached是一套分布式的快取系统通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

  分布式存储系统,是将数据分散存储在多立的设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

  Facebook用户所发布的照片数以亿计,其存储由Haystack这个ad-hoc存储解决方案(由Facebook开发)来处理——包括对其进行低级别优化与只扩展写入方式。

  TAO是Facebook一种用来处理社交图形信息的分布式数据库。针对读取进行优化的数据存储机制,并以单一地理分布实例的方式部署在Facebook当中。 Tao系统的设计初衷在于为“数PB级别”的庞大数据集提供每秒超过十亿次读取操作。

  Facebook拥有超过6万台服务器。最近发布的数据中心位于俄勒冈州普赖恩维尔市,硬件完全自行设计,并被归为Open Compute Project。

  源码管理工具是一种记录代码更改历史,可以无限回溯,用于代码管理,多个程序员开发协作的工具。几种常用的有:svn、cvs、hg、git、vss。

  所有的代码修改都要进行审核(通过一个或多个工程师),但News Feed是个例外,因为太重要了,Zuckerberg会亲自review。

  所有的修改至少要被一个人审核,而且这个系统可以让任何人很方便地审核其他人的代码,即使你没有邀请他。

  运维组是受过严格训练,倍受尊敬,而且有商业意识的。他们的工作包括分析错误日志,负载和内存状态等等。还包括用户行为。

  浓厚的工程师驱动文化。产品经理基本可以被忽略,这是facebook一名员工的话。工程师可以修改流程的细节,重新安排工作任务,随时植入自己的想法。

  对于某个特性是否值得开发的争论,通常是这么解决的:花一个星期的时间完成他,并在小部分人群中(如1%)进行测试。

  作者:lottelyn江琳。公众号:这个产品超难用(chaonanyong233),企业级软件产品经理

  本文由 @lottelyn江琳 原创发布于人人都是产品经理。未经许可,禁止转载。

  关注了你的公众号,为什么会讲星座学啊。。。。这样很不专业啊。跟产品有什么关系。。。

  网上好多免费视频,像慕课网,还有实战训练的。找正规系统的,从头看起,跟着装软件配环境。先从最简单的前端看起吧

  咱俩同感,我也是不想一脸懵比,所以买了一本架构的书······于是更是一脸懵比

  人人都是产品经理(是以产品经理、运营为核心的学习、交流、分享平台,集媒体、培训、招聘、社群为一体,全方位服务产品人和运营人,成立8年举办在线+期,线+场,产品经理大会、运营大会20+场,覆盖北上广深杭成都等15个城市,在行业有较高的影响力和知名度。平台聚集了众多BAT美团京东滴滴360小米网易等知名互联网公司产品总监和运营总监,他们在这里分享知识、招聘人才,与你一起成长。

Power by 建站之星 | 美橙互联 版权所有