资讯详情

b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释

继续最后一篇文章,最后一篇文章忘记了也是非常重要的前端部分,今天的网站基本上是一个启示页面,然后少量的整页切换,大量的浏览器后台调用web从几年前开始,服务局部、动态更新页面显示状态的方式正在运行ajax流行起来,后台是基于xml的web服务,今日主流web基于所谓的服务rest架构的json为载体的web事实上,我个人认为服务rest和过去xml的soap与没有本质的变化相比,今天浏览器内运行的前端框架发生了更大的变化。

就我个人而言,我不擅长前端开发人员,也不热衷于前端内容。因此,为了帮助团队的前端,我做了相对详细的数据查询。我总结了今天使用的前端框架类型:

  • 前端UI框架类:代表Bootstrap,Bootstrap其实是这一类框架里的后辈,但是知名度由于其优秀和源自Twitter这样的知名项目首当其冲成为这类项目的代表。简单来说,它让它成为这类项目的代表。UI组织人员更方便。ui,我个人认为程序员不会在这个层面使用太多的框架;
  • Javascript模板引擎:简单地说,各种模板引擎从很久以前就充斥着web但是js模板引擎的大规模使用也源于ajax大量应用和node.js这款js因此,后端技术的出现,js其实模板引擎是用的js在做Response.Write当然,有浏览器端,更当然node除此之外,我相信在某些情况下js中调后端接口时,使用模板引擎会事半功倍;

以下是我能找到的模板引擎,因为js模板引擎种类繁多,我不太擅长前端。摘录过去著名帖子的内容:

Javascript模板引擎作为数据和界面分离中最重要的环节,受到开发者的广泛关注。五个流行的模板引擎:

    1. Mustache 通常被称为JavaScript模板的基础。另一个流行的解决方案Hanldebars实际上是基础Mustache构造。这并不意味着Mustache模板解决方案不好。
    2. Underscore Templates 它提供了各种有用的方法和简单的模板。它的语法和Mustache稍有不同。
    3. Embedded JS Templates 缩写EJS 来源于ERB模板,且与ERB有许多相似之处。它有着与ERB相同的Tag,它还包含许多相同的功能;EJS特别之处在于,您需要将模板存储在单独的文件中,并将文件名传输给EJS。它将加载文件并返回HTML。(我今天刚翻过来说ejs功能好,但使用不好慢)
    4. HandlebarsJS 构建在最流行的模板引擎之一Mustache以上。适用于Mustache模板的功能也适用于Handlebars模板。Handlebars还增加了很多Helper。其中之一是其中之一With”;
    5. Jade templating----Node.js的主流MVC随着框架中常用的模板引擎node走红,所以也很红;
  • 真正意义上的Javascript框架:代表谷歌AngularJS,ReactJs是facebook轻量级的js框架,作为.net开发者还应该提到微软曾经推荐的微软MVVM框架Knockout.JS,基本上,这三个主题都是前端的分层框架,类似于后端mvc框架,浏览器端可以很好地获取所有的前端显示和后端数据js有些端分离,比如AngularJS比较谷歌所谓的重框架技术内部都有模板引擎,顺便说一句,vs2015年开始默认携带js前端框架是AngularJS;

用上前端ui你会很方便地构建框架web的ui即使同时处理移动终端,使用模板引擎也会让你js更容易从后台动态获取数据,然后显示到界面,AngularJS这样的框架几乎是为分层、多人开发和测试量身定制的大型框架。对许多公司来说,这将是一种前端混乱的良药,即学习成本可能更高。幸运的是,html css js的ui人员可以转移到前端多层框架层面,相信进步ui人员不会拒绝。

名词解释:

1、ajax

AJAX即“ synchronous avascript nd ML”(异步JavaScript和XML),是指创建交互式 网页应用网页开发技术。
AJAX = 异步 JavaScript和 XML( 标准通用标记语言的子集)。
AJAX 它是一种用于创建快速动态网页的技术。
在后台与服务器进行少量数据交换,AJAX 网页可以异步更新。这意味着网页的某些部分可以更新而不重新加载整个网页。
传统网页(不使用 AJAX)如需更新内容,必须重载整个网页。
2、xml
可扩展 标记语言, 标准通用标记语言的子集是于标记电子文件,使其具有结构性 标记语言。
3、rest架构
REST软件架构是由Roy Thomas Fielding博士在2000年首次提出。他描述了基于互联网的发展 网络软件蓝图。REST软件架构是一个抽象的概念,是实现这种互联网的超媒体 分布式系统 。这个概念可以用任何技术来实现。
4、json
JSON(JavaScript Object Notation) 是轻量级数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)子集。 JSON采用完全独立于语言的文本格式,但也采用类似C语言家族的习惯(包括C, C , C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 易于阅读和编写,但也易于机器分析和生成(网络传输速度)。
5、web服务
6、soap
简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于 XML( 标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。是 webService三要素之一。

WebService三要素

SOAP、(ebervicesescriptionanguage)、(niversalescriptioniscovery andntegration)之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。具体实现可以搜索 Web Services简单实例 ; SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。

7、Bootstrap
8、Javascript模板引擎--这个比较多请查看外链 推荐五款流行的 JavaScript模板引擎
http://www.csdn.net/article/2013-09-16/2816951-top-five-javascript-templating-engines
9、AngularJS 谷歌出品
AngularJS是为了克服 HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。
通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足:
- 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery等
- 框架是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。框架有:knockout、sproutcore等。
AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为 (directives)的结构,让浏览器能够识别新的语法。例如:
使用双大括号{ {}}语法进行数据绑定;
使用DOM控制结构来实现迭代或者隐藏DOM片段;
支持表单和表单的验证;
能将逻辑代码关联到相关的DOM元素上;
能将HTML分组成可重用的组件。
10、ReactJs facebook出品

React.js 是 Facebook 推出的一个用来构建用户界面的 JavaScript 库。

React中,把一切东西都看成组件,而且所有组件有其状态。 什么是状态?简单来说,一个组件有多种有限的状态,但同时只能是一种状态,不过条件处罚就会变成另一种状态。学术上叫有限状态机。

从评论这个组件说起,评论组件整体叫做CommentBox,这个父组件有两个子组件:CommentList和CommentForm,CommentList中又包含Comment这个小组件。

11、Knockout.JS
Knockout 是个JavaScript library,帮助创建丰富的显示和编辑器UI,通过干净的底层数据模型。你可以在任何时候动态更新UI的选择部分;微软官方曾经推荐。
 
补充:
第一部分的名词解释

名词解释:

1、bs架构

B/S结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

2、b2b

B2B(也有写成 BTB,是Business-to-Business的缩写)是指企业对企业之间的营销关系,它将企业内部网,通过 B2B 网站与客户紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而促进企业的业务发展。近年来 B2B 发展势头迅猛,趋于成熟。

3、b2c

B2C是Business-to-Customer的缩写,而其中文简称为“商对客”。“商对客”是电子商务的一种模式,也就是通常说的直接面向消费者销售产品和服务商业零售模式。这种形式的电子商务一般以网络零售业为主,主要借助于互联网开展在线销售活动。B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、网上支付等消费行为。

4、wap

WAP网站的页面语言是 WML,后来的升级版WAP 2.0(也就是所谓的3G版)是 XHTML。用户可以借助支持GPRS上网功能的手机,通过WAP获取信息。
WAP的早期版本的页面语言是 WML, WML是一种纯粹的页面标记语言,它是一种从 HTML继承而来基于 XML的标记语言,代码的编写结构比 HTML严格。
只支持显示文本和图片信息,界面比较简单,由功能单一的文本,链接和图片组成。为利于 W3C开发的标准,05年后WAP由1.0过渡到2.0,WAP 2.0采用了 XHTML和 CSS作为WML 2.0的底层支持,在功能,性能,安全,传输方面比早期WAP 1.0强大。WAP 2.0支持 CSS,支持背景音乐等等。由于特殊的物理环境, WML语言不包含其他脚本语言所包含的花哨功能,因此对内存和CPU的要求相对很低,通过手机内置或应用安装的手机浏览器可以直接浏览WAP网站,市面上绝大多数手机都支持 GPRS上网功能,可以浏览所有的WAP 1.0网站,也有相当一部分低端手机,不支持WAP 2.0网站。
WAP一般都是动态页面,主要的编写语言是 ASP+ ACCESS,也有 JSP, PHP,以及 ASP的过渡版本.net,除了ASP主要使用 ACCESS数据库外,后者主要是配合 MySQL数据库编写的。
WAP网站的推广方式比较简单,主要靠口碑,群发信息,WAP论坛,友链,WAP网址大全推广,WAP界基本不存在 SEO,主流WEB搜索引擎都有WEB转码功能,可以将WEB网站转码为WAP内容供手机浏览。WAP也有很多手机搜索引擎,例如易查,易搜,悟空等等。

WAP 的盈利方式主要靠SP点播业务和WAP广告联盟,SP点播业务就是短信点播,彩信,铃声下载,包月服务等,本 小利大,早期的WAP网站靠他挣了不少钱,于是大量低俗网站应运而生,09年央视曝光SP业务存在欺诈用户及被大量WAP低俗网站利用后,SP被移动等运 营商规范整治,投放门槛提高,SP彻底进入寒冬,又加上智能手机普及,有着无数免费的精彩应用,SP逐渐退出WAP江湖。

5、app

APP指的是 智能手机的第三方应用程序。比较著名的应用商店有 苹果的App Store, 谷歌的Google Play Store, 诺基亚的Ovi store,还有 黑莓用户的BlackBerry App World, 微软的Marketplace等。
最近两年,app分发成为各大互联网巨头的新“行当”,在手机厂商和专业应用下载平台的夹击下,不但没有被挤成“夹心饼干”,反而成了可口的“驴肉火烧”。以 腾讯 应用宝为例,其打破传统应用分发的下载套路,从娱乐和社交的角度去“再造”应用分发平台,开创了一个值得圈点的应用市场新模式,也让我们看到了APP快消化品牌运作的趋势。
基本上泛指移动设备上运行的应用程序。

6、webform

是微软开发的一款产品,它将用户的请求和响应都封装为控件。让开发者认为自己是在操作一个windows界面。极大地提高了开发效率。
诞生于2002年。
负责封装用于用户端显示的数据。
在 EasyJWeb中,WebForm是一个非常重要,也是使用最为频繁的对象,他充当了在视图及程序之间传输、处理数据的媒介。
asp.net webform 和 asp.net mvc是微软asp.net官方的两套主要架构。

7、jquery

Jquery是继 prototype之后又一个优秀的 Javascript库。它是轻量级的js库 ,它兼容 CSS3,还兼容各种 浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理 HTML( 标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的 插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。
jQuery是一个兼容多浏览器的 javascript库,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人 John Resig在纽约的 barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今, jQuery已经成为最流行的 javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。
jQuery是免费、开源的,使用 MIT许可协议。jQuery的 语法设计可以使开发者更加便捷,例如操作 文档对象、选择 DOM元素、制作 动画效果、事件处理、使用 Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。
jQuery,顾名思议,也就是JavaScript和查询(Query),即是辅助JavaScript开发的库。

8、js

JavaScript一种 直译式 脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的 解释器被称为JavaScript引擎,为 浏览器的一部分,广泛用于 客户端的脚本语言,最早是在 HTML( 标准通用标记语言下的一个应用)网页上使用,用来给 HTML网页增加动态功能。
在1995年时,由 Netscape公司的 Brendan Eich,在 网景导航者浏览器上首次设计实现而成。因为 Netscape与 Sun合作, Netscape管理层希望它外观看起来像 Java,因此取名为JavaScript。但实际上它的语法风格与 Self及 Scheme较为接近。 [1]  
为了取得技术优势, 微软推出了 JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript 兼容于ECMA标准,因此也称为 ECMAScript。

9、sql

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和 程序设计语言,用于存取数据以及查询、更新和管理 关系数据库系统;同时也是 数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层 数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同 数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986 年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所 以,实际上不同数据库系统之间的SQL不能完全相互通用。

10、io

I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如Linux系 统,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O 异步I/O),Memory-Mapped I/O(内存映设I/O)等,不同的I/O方式有不同的实现 方式和性能,在不同的应用中可以按情况选择不同的I/O方式。

软件里IO经常是读写行为的简写,和读写操作的库的简写。

11、队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

12、异步

异步:一种通讯方式,对设备需求简单。我们的 PC机提供的标准 通信接口都是异步的。
异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位。
异步的另外一种含义是计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前 线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。
但此处需要明确的是:异步与 多线程与并行不是同一个概念.
多线程
并行
并行是指“并排行走”或“同时实行或实施”。
在操作系统中是指,一组程序按独立异步的速度执行,无论从微观还是宏观,程序都是一起执行的。对比地,并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)。

并行计算

并行机上所做的计算,又称高性能计算或超级计算。

并行通信

并行通信是把一个字符的各数位用几条先同时进行传输。在两个设备之间实现并行通信的接口就是并行接口,并行接口中的每条数据线的长度必须相同。

并行处理

并行处理是一种有效地强调开发计算过程中并行事件的信息处理方式。

13、同步

同步指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系。
同步(英语:Synchronization),指在一个系统中所发生的事件(event),之间进行协调,在时间上出现一致性与统一化的现象。在系统中进行同步,也被称为及时(in time)、同步化的(synchronous、in sync)。

14、三层 MVC

三 层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data access layer)。区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或称为领域层)、表示层。

MVC(模型Model-视图View-控制器Controller)是一种架构模式,可以用它来创建在域对象和UI表示层对象之间的区分。
同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。
在三层架构中没有定义Controller的概念。这是最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的 概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。

15、css

级联样式表是一种用来表现 HTML( 标准通用标记语言的一个应用)或 XML( 标准通用标记语言的一个子集)等文件样式的 计算机语言。
CSS目前最新版本为 CSS3,是能够真正做到 网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对 网页中的 对象的位置排版进行 像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步 交互设计,是目前基于文本展示最优秀的表现设计语言。 CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。

16、html html5

17、ui

UI即User Interface(用户界面)的简称。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。UI还有其它的意义,如Unit Interval,Univ of Iowa,Unlock Instruction,Urgent Interrupt。

18、黑盒测试

黑盒测试也称 功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把 程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在 程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于 程序外部结构,不考虑内部 逻辑结构,主要针对 软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

19、白盒测试

采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方 法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定 的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。

20、webserver

Web Server中文名称叫网页服务器或web服务器。WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务

21、.net

对技术人员,想真正了解什么是.NET,必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要XML,Web Services 和 SOA。技术人员一般将微软看成一个平台厂商。微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。从这个角度,.NET也可以如下来定义:(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式。

22、linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了 Linux内核。Linux可安装在各种计算机硬件设备中,比如 手机、 平板电脑、 路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

23、热数据

24、数据仓库

数据仓库,英文名称为Data Warehouse,可简写为 DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略 集合。它是单个数据 存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 
我认为基本上今天不支持强事务的大数据数据库、海量支持的数据库都可以算是一种数据仓库方案。

25、在线

在 线存储(OnStore)是工作级的存储,在线存储的最大特征是存储设备和所存储的数据时刻保持“在线”状态,可以随时读取和修改,以满足前端应用服务器 或数据库对数据访问的速度要求。其中最主要的在线存储是磁盘存储。早期的在线存储设备主要是服务器内置硬盘,随着对存储的发展,现在在线存储设备还包括光 纤磁盘阵列或SCSI磁盘阵列等磁盘设备。在线存储价格相对昂贵,但性能最好。大多数情况下,我们可以认为客户的核心应用都是采用这种存储形式的。
对于数据库来说,能够基本提供及时或可预计时间内响应的数据库系统是在线数据库。

26、近线

所谓近线存储(NearStore),是随着客户存储环境的细化所提出的一个概念,所谓的近线存储,外延相对较广泛,主要定位于客户在线存储和离线存储之 间的应用。就是指将那些并不是经常用到,或者说数据的访问量并不大的数据存放在性能较低的存储设备上。但同时对这些的设备要求是寻址迅速、传输率高。(例 如客户一些长期保存的不常用的文件的归档)。因此,近线存储对性能要求相对来说并不高,但又要求相对较好的访问性能。同时多数情况下由于不常用的数据要占 总数据量的比较大的比重,这也就要求近线存储设备在需要容量相对较大。在业界传统定义的近线存储设备主要为DVD-RAM光盘塔和光盘库设备。但随着存储设备的不断发展,跟据客户存储需求的不同,我们也会把低端的磁盘阵列(例如DS4100)或高端的磁带设备(例如3592)作为近线存储应用设备。

其实对于数据库来说,近线的概念,可以被认为就是不那么快,响应不那么及时,一个操作没有一个可控的最大响应时间范围的这类数据库系统,Hadoop很多传统的读写方式、技术方案就不像hbase那样能够及时、有效的反应。

27、hbase

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。 就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop 项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

全世界大量大型公司的数据都存储在其上。

28、mysql

由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

29、MariaDB

MariaDB 数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英 语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
MariaDB基于 事务的Maria 存储引擎,替换了 MySQL的 MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX 存储引擎。

30、MyCat

MyCat是一位中国hp的系统架构师牵头,基于已经停止开发了的阿里开源的Cobar,所构建的分布式强事务兼容mysql协议的数据库集群中间件。

Mycat 1.4 alpha 版本发布,JDBC方式支持后端所有主流数据库,性能增强并修复一些Bug ,建议当前开发的项目采用。

什么是MyCAT

    • 一个彻底开源的,面向企业应用开发的大数据库集群
    • 支持事务、ACID、可以替代MySQL的加强版数据库
    • 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
    • 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
    • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
    • 一个新颖的数据库中间件产品

目标

低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。

关键特性

    • 支持SQL92标准
    • 支持MySQL集群,可以作为Proxy使用
    • 支持JDBC连接Oracle、DB2、SQL Server,将其模拟为MySQL Server使用
    • 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
    • 提供高可用性数据分片集群,自动故障切换
    • 支持读写分离,支持MySQL双主多从,以及一主多从的模式
    • 支持全局表,数据自动分片到多个节点,用于高效表关联查询
    • 支持独有的基于ER关系的分片策略,实现了高效的表关联查询多平台支持,部署简单

31、redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都 支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排 序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文 件,并且在此基础上实现了master-slave(主从)同步。

国内微博方案早期包括到现在都是基于Redis的。

32、Memcached

是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。

memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。

memcached 的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。 由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新 memcached内的资料。

33、Codis

Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务.

34、jexus

Jexus 即 Jexus Web Server,简称JWS,是Linux平台上 的一款ASP.NET WEB服务器。它是 Linux、Unix、FreeBSD 等非Windows系统架设 ASP.NET WEB 服务器的核心程序。

Jexus 即 Jexus Web Server,简称JWS,是Linux平台上的一款ASP.NET WEB服务器,是 Linux、Unix、FreeBSD 等非Windows系统架设 ASP.NET WEB 服务器的核心程序,是企业级ASP.NET跨平台部署的一种可选方案。与其它WEB服务器相比,Jexus不但具有跨平台ASP.NET服务器这样的标志 性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。

优点是:linux下一站式的asp.net容器,缺点:配置文档缺乏,封闭源代码,不开源,作为国产闭源产品却没有像样的商用案例支持其可靠性和安全性。

35、Apache

2个含义,著名webserver软件,或者Apache软件基金会

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目。除了Apache,实际上开源的软件里主要的基础的多一半是该基金会管理下或者基于该基金会所管理的软件项目。

36、Nginx

锐单商城 - 一站式电子元器件采购平台