红帽的 PaaS 平台 OpenShift 支持 Java EE 6
openkk 13年前
<p>红帽公司刚对其旗下的 PaaS (Platform-as-a-Service) 平台—— <a href="/misc/goto?guid=4958184335718953605" target="_blank">OpenShift</a> 做了改进,增加对 Java EE 6 的支持。这使得 OpenShift 成为第一个支持 Jaav EE 6 的 PaaS 解决方案平台。该免费平台使用了最近刚发布的 JBoss 应用服务器 7 版本,用于帮助开发者更简单的在云端构建和发布 Java 的应用程序。</p> <p>OpenShift 平台支持很多编程语言、框架和数据库,包括:Ruby, Python, Perl, PHP, Java EE, Spring, MySQL, SQLite, MongoDB, Membase and Memcache. OpenShift 目前尚未开源,但红帽子称将来会这么做。<br /> </p> <div id="p_fullcontent" class="detail"> <p><a href="/misc/goto?guid=4958183898586439931" target="_blank">MongoDB</a>是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。 Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。</p> <p>它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:</p> <ul> <li>面向集合存储,易存储对象类型的数据。 </li> <li>模式自由。</li> <li>支持动态查询。 </li> <li>支持完全索引,包含内部对象。 </li> <li>支持查询。 </li> <li>支持复制和故障恢复。 </li> <li>使用高效的二进制数据存储,包括大型对象(如视频等)。</li> <li>自动处理碎片,以支持云计算层次的扩展性</li> <li>支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。</li> <li>文件存储格式为BSON(一种JSON的扩展)</li> <li>可通过网络访问</li> </ul> <p>所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。<br /> 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。<br /> 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。</p> <p>MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB</p> <p>在32位模式运行时支持的最大文件尺寸为2GB。</p> <p>MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。<br /> <img title="logo-mongodb.png" border="0" alt="logo-mongodb.png" src="https://simg.open-open.com/show/04425bc20e8a7fdf761dcf7547612db4.jpg" /><br /> </p> <p>Membase 是 NoSQL 家族的一个新的重量级的成员。</p> <p><a href="/misc/goto?guid=4958184337261978025" target="_blank">Membase</a>是开源项目,源代码采用了Apache2.0的使用许可。该项目托管在GitHub.Source tarballs上,目前可以 下载beta版本的Linux二进制包。该产品主要是由North Scale的<span style="text-decoration:underline;"><span style="color:#0b59b2;">memcached</span></span>核心团队成员开发完成,其中还包括<span style="color:#0b59b2;"><span style="text-decoration:underline;">Zynga</span></span>和<span style="text-decoration:underline;"><span style="color:#0b59b2;">NHN</span></span>这两个主要贡献者的工程师,这两个组织都是很大的在线游戏和社区网络空间的供应商。</p> <p>Membase容易安装、操作,可以从单节点方便的扩展到集群,而且为memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开 发者和经营者提供了一个比较低的门槛。做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中 Memcached的部分基础代码被直接应用到了Membase服务器的前端。</p> <p>通过兼容多种编程语言和框架,Membase具备了很好的复用性。在安装和配置方面,Membase提供了有效的图形化界面和编程接口,包括可配置 的告警信息。</p> <p>Membase的目标是提供对外的线性扩展能力,包括为了增加集群容量,可以针对统一的节点进行复制。 另外,对存储的数据进行再分配仍然是必要的。</p> <p>这方面的一个有趣的特性是NoSQL解决方案所承诺的可预测的性能,类准确性的延迟和吞吐量。通过如下方式可以获得上面提到的特性:</p> <ul> <li>自动将在线数据迁移到低延迟的存储介质的技术(内存,固态硬盘,磁盘) </li> <li>可选的写操作一一异步,同步(基于复制,持久化) </li> <li>反向通道再平衡[未来考虑支持] </li> <li>多线程低锁争用 </li> <li>尽可能使用异步处理 </li> <li>自动实现重复数据删除 </li> <li>动态再平衡现有集群 </li> <li>通过把数据复制到多个集群单元和支持快速失败转移来提供系统的高可用性。 </li> </ul> <p> </p> <p><a href="/misc/goto?guid=4958184338198183602" target="_blank"><strong>memcached</strong></a>是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。</p> <p>memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙后。</p> <p>memcached的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。由于memcached通常只是当作快取系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程式码更新memcached内的资料。</p> <p>memcached具有多种语言的客户端开发包,包括:Perl/PHP/JAVA/C/Python/Ruby/C#/MySQL/</p> <p>客户端包的下载地址是:<a href="/misc/goto?guid=4958184338957993839" target="_blank">http://www.danga.com/memcached/apis.bml</a></p> <p></p> </div> <p></p>