关闭 More 保存 重做 撤销 预览

   
关闭   当前为简洁模式,您可以更新模块,修改模块属性和数据,要使用完整的拖拽功能,请点击进入高级模式
重播

上一主題 下一主題
»
star
LV6 呢喃的歌声
帖子    163
新博币    57 提现
提现    165.165
     
    2226 6 | 显示全部楼层 |正序浏览
    很多初创的小团队并没有架构师,而且就算有,人家讲话的时候你一脸懵逼也不合适啊。
    fuwuqizhengli.jpg


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

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

    所以,你说架构重不重要!

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

    既然这样,快点来看看架构的小知识!!!

    (这里讲的架构并非传统产品经理喜欢研究的那种信息架构或者业务架构)

    web前端

    运行环境:

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

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

    编码开发:

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

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

    类库框架:

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

    而facebook使用的是Thrift框架,对了,也是他们自己开发的。。。thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 可以在这些编程语言间无缝结合、高效的服务。

    负载均衡

    硬件负载均衡:

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

    QQ截图20160714200901.png


    软件负载均衡:

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

    数据库和缓存

    数据库方案:

    选择数据库需要考虑数据的量级、计算场景和处理数据的频次来选择。

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

    分布式存储服务器

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

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

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

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

    源代码管理和版本控制

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

    坚持每日灌水,挣博币,早日与博牛CEO共进晚餐。。。

    TAGS 技术, 知识
    hushfox
    LV9 苍瀚的风云
    帖子    632
    新博币    0 提现
    提现    0
       
      好高深的样子
      个人签名

      换一个梦
      LV12 无尽的雷鸣
      帖子    2495
      新博币    0 提现
      提现    361.53
      TA的勋章:勋章中心
         
        不错,深入浅出
        个人签名

        博大牛牛
        LV7 奔跑的春风
        帖子    391
        新博币    73 提现
        提现    0
        TA的勋章:勋章中心
           
          提示: 作者被禁止或删除 内容自动屏蔽
          mdpo
          LV5 水面的小草
          帖子    104
          新博币    0 提现
          提现    0
             
            小网站基本 LNMP ,F5做网站估计是中东的土豪傻狍子
            个人签名

            robin123
            LV14 敬畏的寂静
            帖子    3568
            新博币    0 提现
            提现    0
            TA的勋章:勋章中心
               
              对我来说是天书了,但还是给你点赞
              个人签名

              star
              LV6 呢喃的歌声
              帖子    163
              新博币    57 提现
              提现    165.165
                 
                小小分享,希望对广大资深程序猿有所帮助。
                个人签名

                点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 淡定 生气 回帖 路过 感动 感恩
                您需要登录后才可以回帖 登录 | 立即注册

                本版积分规则

                关闭

                博牛推荐上一条 /2 下一条

                快速回复 返回顶部 返回列表