• 浅谈预演框架选择


    近来有些时间,就整理一些方案,架构方面的思路与总结。希望在思路上给一些人节省一些时间,中国IT业较为缺少的是系统化工程,思维方式及知识的总结与共享。

    在我们平时做新的架构设计及方案预演时,我们最常用的思维方法是:

    0.业务方案分析

    1.根据业务方案,进行总体技术方案选择,总的系统架构

    2.技术方案中用什么样的开源框架或组件进行整合预演。

    3.调整优化方案。

    下面我们浅淡一下一层一层地选择框架或组件。

    0.基本业务类型,可以初步分析为ROA,或SOA类型系统,系统中是否需要企业级业务(主要对事务的关注)

    1. 总体技术框架选择,SOA类系统,多选择商务型方案,面向服务的系统。ROA多为简单的面向资源的系统,这里不过多分析。

       对于复杂的企业级商务方案,一般采用J2EE等解决方案,或者SSH/SSM等方案来处理。

    2. 在预演过程中,基本考虑较有服务的系统,进行常规开源进行应对,

      a, Web系统可以用成熟的框架,比如管理系统,可以采用,SSH等,也可采用PHP的一常规方案进行解决。这些方案中都有很好的开源产品,比如PHP的CMS(推荐Drupal,易深度定制,当然需要更多的学习成本),SNS,CRM等,

      b,如果考虑一般非Web系统,可以考虑很多开源NIO或基于其上的RPC框架来对客户端提供服务,比如语言无关的ICE,Thrift,Protobuf,语言相关的(JAVA:MINA,Netty等)(C/C++:ACE,Boost等),

      c, 而这些服务所基本的数据可以采用各种数据方案:包括数据库,文件存贮等,数据库又有各种解决方案,预演所常用的SQL数据库,可以选择MYSQL, ProgreSQL, 非关系型数据库(NoSQL)可以选择简单易用的MongoDB,Cassadra,Redis,HBase等但选择NoSQL数据库时,不能冒进,毕竟这些都是新型的数据库,在技术文档支持,稳定性上都存在不足,近来FourSquare,Facebook,等一些大公司采用这些数据库时都曾出现过各种严重的问题,文件存贮的提供也有很多,可以用简单易用的MongleFS, NFS, HDFS等,对于多媒体服务提供可以采用一些开源方案,视频方面可以选Red5(FLV),Live555等开源方案。图片方面,可以采用ImageMagicK等方案

      d.移动客户端方案:一般客户端可以用各种开源的方案来解决,很成熟,比如QT,一般问题多集中的移动平台上。现在常见的跨平台移动方案,有一 些,古老些的,有ADL,PJ...等,现在针对Android,IOS,Windows8等有Phonegap,Titanium,XUI,JQueryMobile,Touch ....等.

    3,调整与优化方案方面,可以很多事情可以做。

      a,集群式服务之前,要考虑CDN,节省时间与成本,且目标可以预期。

      b,服务集群方案优化,这里有太多集群方案可以选择,反向服务代理,AS式各种载方案。集群中少不了HA,LoadBalance,冗余热备等。数据库还有各种数据安全策略。

      c,对各种服务提供的链路瓶颈进行优化。常见的有各环节上的cache.开源方案也有很多,Memcached. Redis,NCache.......

  • 相关阅读:
    react dva 的 connect 与 @connect
    es6 解构赋值 新认知/新习惯
    从一到面试题了解js异步机制:setTimeout 和 Pronmise
    React.Fragment 的作用:代替div作为外层
    解决dva dispatch yield生成器函数中异常中断,无法继续调用的问题
    vue v-model 与 组件化的表单组件如何沟通
    react 事件绑定的2种常用方式
    React dva 的使用
    gulp#4.0 Did you forget to signal async completion?
    gulp#4.0
  • 原文地址:https://www.cnblogs.com/windwithlife/p/2848786.html
Copyright © 2020-2023  润新知