Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)

在这个“大数据”的时代,传统的跨平台C++库Qt已经将魔爪丧心病狂的伸向了“云计算”。在2012年的Qt开发者大会上,Qt发布了BaaS(Backend as a Service)服务——Enginio,旨在为用户提供一个NoSQL数据库的后端平台。截至到(2014年9月),Qt云服务(Qt Cloud Services,简称“QTC”)已经发展成为了提供以下三种服务的云平台:

鉴于这三种应用都有Qt SDK(Qt5.3以上)的支持,又由于Qt跨平台的特性(支持Mac, Win, Win8, Linux, Android, IOS, WP等平台),使得我们开发云应用变得更加简单。用户想要更大的带宽或存储空间、更多的读写次数,只要给钱,QTC就能无缝扩展。

“1GB的免费空间,2万5千次读写次数”可以看出,在价格方面Qt对免费用户还是挺厚道的。具体的价格政策详见QTC官网信息

QTC非常详细的文档源于Qt优良的传统。想要详细学习QTC的各种技术,可以直接访问官方文档。然而,QTC还处于起步阶段,只有设在欧洲的服务器,致使国内访问网速较慢,甚至存在被墙的风险。并且不排除今后QTC在国内设服务器,或者直接被墙的可能,所以不排除以后QTC在国内架设服务器的可能。

本次QTC入门系列,我打算MAR/EDS/MWS都至少写一篇介绍。由于我没有学过计算机网络,也不对网络编程了解也不多,因次文章中如有错误或漏洞,烦请指出。

由于QTC文档里面写着:

This is a Beta release of the Managed Application Runtime. As a result, the API is subject to change. Developers should take this into consideration when using this release.

This is a Beta release of the Managed WebSocket. As a result, the API is subject to change. Developers should take this into consideration when using the Beta release of the Managed WebSocket.

所以本系列文章里面所提到的具体的API有可能会失效,请大家谅解。

下面就简要介绍这三种应用:


1. Managed Application Runtime (MAR)

MAR从字面可以看出,是一个托管的应用运行时,可以将源代码通过Git的方式上传到QTC的服务器中,在线部署编译,属于PaaS(Platform-as-a-Service)。从官方给出的examples可以看出,MAR支持以下服务器端的语言:

也就是说,我们可以很方便的把本地编写的程序,稍微改造一下,部署到服务器端。MAR因为用到了Git,所以要求用户会使用Git的基本操作。

PS:从QTC的价格信息来看,免费用户只能创建“单核256M内存”的虚拟机,但是我现在能够创建“4核1024M内存”的机器。

2. Enginio Data Storage (EDS)

EDS就是之前所说的Qt提供的最早的云服务——Enginio。它提供了一个NoSQL数据库(NoSQL这几年很火呀),用来存储非关系型数据(non-relational data)。EDS可以通过REST APIs来访问,也可以通过Qt的Enginio SDK(C++/QML)来访问,当然也支持直接在网页上管理数据库。

在EDS平台中,我们可以管理数据,也能管理数据的权限、进行账户认证(Authentication)、存储文件、进行全文搜索等。

在Qt5.3的SDK中,就包含了Enginio模块。并且官方也给出了三个C++示例:Cloud Address Book、Image Gallery和Todos;同时也给了4个基于QML的例子:Image Gallery、Social Todos、Todos、Users。每个例子都能在Qt的SDK或者文档中找到。Enginio的SDK,不仅提供了EnginioClient类,用来处理数据的传送,还封装了EnginioModel类,利用Qt的Model/View模型来简化云端与本地的数据交互。

3. Managed WebSocket (MWS)

由于我不熟悉WebSocket,只好借助Wiki了:

WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。 WebSocket通信协议于2011年被IETF定为标准 RFC 6455,WebSocketAPI被W3C定为标准。

在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

WebSocket被称为“Web的TCP”,通过WebSocket可以简化实时Web应用的开发。具体应用可以参照IBM的这篇文章:《使用 HTML5 WebSocket 构建实时 Web 应用》

MWS就是托管在QTC上的WebSocket,MWS客户端和服务器端的SDK已经包含在Qt5.3里面了,同时社区提供的Android/Node.js/Ruby的SDK也挂在了官方文档里。官网官方示例是一个聊天室程序。



#首次使用QTC要注意的事情
由于“云计算”涉及到众多技术,因次在QTC上部署运行应用之前,要注意以下事项:

    • 申请一个Qt/QTC的账号(可以利用Github账号登陆)
    • 了解Git。至少得知道常用的Push/Pull/Commit/Branch操作。能够生成SSL密钥
    • 安装了Qt5.3以上版本,并且熟悉Qt的SDK(C++或QML),了解“网络”的基本概念。不熟悉的话,就要闷声学习一个
    • 要经常看Qt和QTC的文档,并且要看得懂(4级水平)
    • 要有探索未知的欲望……
    • 要经常看看我博客的更新……

http://www.chenguanzhou.com/2014/09/26/2014-09-26-QTC-Introduction/

时间: 2024-08-07 12:31:49

Qt云服务/云计算平台QTC(Qt Cloud Services)入门(0)的相关文章

用友云服务治理平台 助力企业微服务架构落地

本文主要阐述使用微服务架构时,治理框架或者平台需要解决的主要问题,微服务落地实施过程中所遇到的关键问题和对应解决方案.同时,文章也介绍用友云旗下的微服务治理平台的核心功能和技术架构,以及微服务治理平台在用友云一些产品下的实践,下一步的发展计划和趋势. 用友云微服务治理平台由来 伴随互联网.云计算.大数据等技术的快速发展,越来越多的企业在信息化之后,将企业上云和数字化提上日程.软件架构的微服务方式重构.应用的自动化运维.容器化等需求强烈,催生出了众多的PaaS平台.同时,针对微服务,也涌现除了许多

云计算平台简介(App Engine)

云计算平台简介(App Engine) 1   简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1  什么是云 云计算通常简称为“云”,是一种通过 Internet 按需交付计算资源(从应用到数据中心都属于计算资源)和按使用付费的基础架构. 富有弹性的资源:能快速轻松地扩大或缩小规模,以满足您的需求 按使用付费:计量服务的使用情况,只需为所用的服务付费 自助服务:使用自助服务可访问您需要的所有 IT 资源 1.2  云计算部署模型 1.2.1 公共云 公共云由一

八年深耕,七牛云为企业提供一站式专业视频云服务

近日,国务院发展研究中心国际技术经济研究所在<中国智能化转型与技术创新高层研讨会>中预测,2023 年中国云计算产业规模将超过 3000 亿人民币.其中,中国政府和企业上云率将超过 60%,全站自主可控计算平台将成为政府和大型企业的主流 IT 基础设施. 而在众多企业上云的需求中,视频云服务正酝酿着一个不可估量的市场.比如短视频.在线教育.在线办公等应用的爆发,就在短时间内创造了海量对视频云服务的需求,并逐步常态化.同时,随着 5G 时代的到来,视频的流量占比还将进一步提升,未来在整个互联网产

Azure云平台学习之路(三)——Cloud Services

1.什么是云服务? 能够部署高度可用的且可无限缩放的应用程序和API.简而言之,就是你写的CMD程序按照一定的框架进行少量修改就能运行在Azure云平台上. 2.Azure云服务有什么特点? (1)专注应用程序而不是硬件,PaaS的一种. (2)支持多种框架和语言. (3)集成了运行状况监视和负载平衡. (4)自动缩放优化成本和性能 3.建立云服务之前,我们需要建立一个云存储,来记录我们的程序的日志信息(当然,这不是必须的) (1)选择左边导航栏的"存储".主面板上显示的是所有已有的存

Windows Azure Cloud Service (41) 修改云服务IIS托管管道模式为4.0经典模式

<Windows Azure Platform 系列文章目录> 这是笔者在之前的项目中遇到的问题,做一下总结,给网友做参考. 在一般情况下,Visual Studio开发的Cloud Service在部署到Azure PaaS平台后,是IIS托管管道模式.有的时候,客户的Web应用程序需要4.0经典模式.就需要在启动Web Role时自定义IIS配置.我这里简单介绍一下. 1.在项目中添加引用:C:\Windows\System32\inetsrv\Microsoft.Web.Administ

(一)整合spring cloud云服务架构 - Spring Cloud简介

Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等(这里只简单的列了一部分),都可以用Spring Boot的开发风格做到一键启动和部署.Spring Cloud将目前比较成熟.经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终整合出一套简单易懂.易部署和易维护的分布式系统架构平台. Spring Clou

(三)整合spring cloud云服务架构 - particle云架构代码结构构建

上一篇介绍了spring cloud云服务架构的基本架构图,本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud本身的服务发现.治理.配置化管理.分布式等项目优秀解决方案,我们使用Maven技术将框架进行模块化.服务化.原子化封装,也为后期的热插拔.持续集成做一些准备工作. 另外在搭建环境之前,大家需要熟练掌握maven的使用及相关异常问题的处理. particle云架构使用maven来构建的,使用maven不仅仅是jar包的管控,重要的是要抓住maven的一个核

【大会】容器云服务专家精灵云成2017全球云计算开源峰会关注焦点

2017全球云计算开源峰会于4月19-20日在北京国家会议中心举行,作为云计算开源技术的年度顶级"party",现场大咖云集,共同探讨和分享开源技术在云计算领域的N种玩法.本次峰会从代码.社区和产业三大方向探讨云计算开源技术的实践和应用,作为企业级容器云服务方面的领导者,Ghostcloud精灵云也在本次峰会上分享了Docker在金融行业的应用,干货不绝,收获无数行业关注.同时,精灵云也带来了众多福利,改变世界的"盒子"在大会现场吸引了一大批参会者的围观,前来咨询和

直戳阿里云痛处?大共享云服务平台

如果说从云计算行业角度来看阿里云,那么阿里云目前在国内的根基是无法被轻易震撼.在过去的几年当中,阿里云一直都以地毯式轰炸整个广告行业,可谓 是无所 不用其极.阿里云在最近一年多的时间里表现非凡,后起之秀IaaS项目,大共享以一个无需付费的云平台解决用户问题,并得到了各个商家的高度关注.那么大 共享又有什么能力实现这一目标? 从软件定义上讲,大共享云服务器并不像是只打免费旗号而卖云产品的商家,而是从严格意义上以无成本创业解决用户实际问题.从阿里云提供"0元拥抱云 服务器"再看大共享提供的