`
zsjg13
  • 浏览: 144991 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

推到云上

阅读更多

PaaS提供了一个就绪的应用部署平台其中带了若干扩展服务,例如数据库和消息brokers。

 

最流行的两个Paas平台是:Cloud Foundry、Heroku

 

1、部署到Cloud Foundry

它来自于Pivotal,赞助Spring框架以及Spring平台中的其他库的公司就是它。其中一个最吸引人的事情就是

它即是开源的,同时也有若干商业发行版。它甚至可运行在一个公司数据中心的防火墙里,提供一个私有云。

 

我们准备将reading-list应用部署到Pivotal Web Services上,它是一个公共的Cloud Foundary,托管地址在

http://run.pivotal.io/ 。但你要先注册个账号。PWS提供了一个60天的免费试用,在这期间都不需要你提供任何信用卡信息。

 

一旦注册了PWS账号,下一步就是下载并安装cf命令行工具,从此地址下载,

https://console.run.pivotal.io/tools ,用cf工具将你的程序推送到它上面。

 

不过,首先,你需要用cf登录你的PWS账号:

C:\Users\Administrator>cf login -a api.run.pivotal.io
API endpoint: api.run.pivotal.io

Email> fanjg_ajy@163.com

Password>
Authenticating...
OK

Targeted org fanjg_ajy-org

Targeted space development

 

API endpoint:   https://api.run.pivotal.io (API version: 2.96.0)
User:           fanjg_ajy@163.com
Org:            fanjg_ajy-org
Space:          development

 

 接下来是推送你的程序:

$ cf push sbia-readinglist -p build/libs/readinglist.war

其中sbia-readinglist是你给应用在Cloud Foundry上取的一个名字,因此它必须不能和其他应用名冲突,它会作为一个子域名用来访问你的应用。为此,它提供了一个选项可用来生成随机域名,

但你还是要提供域名参数,但有两个随机可供选择的单词将被追加到你提供的域名,这样就生成了子域名。

 

不仅仅是WAR,包括可执行JAR,甚至未编译的Groovy脚本——run via the Spring Boot CLI。

 

如果一切顺利的话,就应该可以访问部署好的应用了。

由于该应用使用的数据库是嵌入式的H2数据库,因此应用重启后,数据就丢失了。但Cloud Foundry

提供了几个数据库可供你选择,包括MySQL以及PostgreSQL,它们以marketplace services形式存在。

因为我们的程序中已经包含了PostgreSQL JDBC驱动,那就用PostgreSQL服务吧,此服务名叫

elephantsql。

 

elephantsql服务有几个不同的计划可供选择,从small development-sized databases到

large industrial-strength production databases。

C:\Users\Administrator>cf marketplace -s elephantsql
Getting service plan information for service elephantsql as fanjg_ajy@163.com...
OK

service plan   description                                            free or paid
turtle         4 concurrent connections, 20MB Storage                 free
panda          20 concurrent connections, 2GB Storage                 paid
hippo          300 concurrent connections, 100 GB Storage             paid
elephant       300 concurrent connections, 1000 GB Storage, 500Mbps   paid

 

那我们就假设选的是turtle吧。但现在要创建此数据库服务的一个实例,执行如下命令:

C:\Users\Administrator>cf create-service elephantsql turtle readinglistdb
Creating service instance readinglistdb in org fanjg_ajy-org / space development as fanjg_ajy@163.com...
OK

 

服务实例创建完毕后,接下来需要将其绑定到我们的应用上,执行命令

$ cf bind-service sbia-readinglist readinglistdb

 

将一个服务绑定到一个应用,只不过就是为应用提供一些细节(存储在环境变量VCAP_SERVICES中)关于如何连接到这个服务。我们可以重写应用读取此环境变量,使用它提供的信息来访问数据库服务,但没这个

必要,相反,执行下面的命令就行了

$ cf restage sbia-readinglist

上面的命令会强制Cloud Foundry重新部署应用并获取VCAP_SERVICES的值。它这么做的时候,

你会发现我们的应用声明了一个DataSource bean,并用引用了那个数据库服务的DataSource替换了。

 

好,一切都可以了。

 

分享到:
评论

相关推荐

    四、JAVA调用海康威视SDK实现摄像头内网推流到阿里云

    在本项目中,我们主要探讨如何使用JAVA编程语言调用海康威视(Hikvision)的SDK,以便实现摄像头的内网预览功能,并将视频流推送到阿里云服务。这一过程涉及到多个技术栈,包括后端开发、网络通信以及云端服务的集成...

    基于腾讯云实时推送的demo

    【腾讯云实时推送服务】 腾讯云实时推送服务,也称为“信鸽云推送”,是腾讯云提供的一种高效、稳定、安全的移动应用消息推送服务。它允许开发者向Android、iOS等移动设备上的应用程序发送自定义消息,从而实现与...

    百度云推送代码

    在IT行业中,尤其是在移动应用开发领域,实时通信和消息推送是一项关键功能,它能确保用户及时接收到新信息或更新。本项目涉及的"百度云推送代码"是百度提供的一个服务,旨在帮助开发者实现Android和iOS应用的消息推...

    C#+腾讯云+推流+生成推流地址

    C#实例 腾讯云推流地址生成例子,因为官方给的例子只有PHP,Java,那么通过java的实例转

    信鸽推送_腾讯云新版移动推送_Java代码集成

    在原有的信鸽服务基础上,由于腾讯云对老版本不再进行维护,开发者们需要转向使用其新推出的收费版移动推送服务。这个服务提供了更多的功能和优化,旨在提升用户体验,同时也为开发者提供了更全面的后台支持和统计...

    Android阿里云推送

    1. **注册应用**:在阿里云推送控制台上创建一个新的应用,获取AppKey和MasterSecret,这两个参数在后续的SDK集成中会用到。 2. **集成SDK**:将阿里云推送提供的SDK添加到Android项目中,可以通过Gradle或手动导入...

    大数据云推送平台解析

    推送技术本质上是一种即时通讯方式,它允许服务器主动向用户的移动设备发送信息。这种技术在移动互联网中被广泛应用,最常见的就是即时消息推送、广告推送、应用更新通知等。 接下来,为什么要使用推送技术?对于...

    百度云推送 java端代码

    然后,服务器端使用这个Token调用API,将设备注册到百度云推送的服务上。这样,服务器就可以向特定设备发送消息。 2. **发送消息**: 百度云推送支持多种消息类型,如单播(针对单个设备)、群播(针对多个设备)...

    Android之基于百度云推送IM

    首先,百度云推送是一个强大的消息推送服务,它能够帮助开发者实现在用户不打开应用程序的情况下,将服务器端的消息及时推送到用户的设备上。这对于提高用户活跃度和应用黏性至关重要。它的主要优势在于稳定、高效和...

    百度云推送助力安卓壁纸

    虽然描述非常简洁,但我们可以推测其主要讨论的是百度云推送技术如何为安卓平台上的壁纸应用提供支持。可能包括实时推送新壁纸、个性化推荐、以及提高用户互动等方面。 【标签】 "百度云"标签明确了我们讨论的重点...

    基于百度云推送的实例

    这个实例为初学者提供了一个很好的学习平台,通过它,你可以了解到如何将百度云推送服务集成到Android客户端和服务器端,从而实现消息的实时推送。 首先,我们需要了解**百度云推送**(Baidu Cloud Push)是什么。...

    云更新服务端去除强推

    只支持版本:2017.6.15.6596和2017.10.15.7625,用于其他版本上就会出错

    c#实现推送通过的是百度云

    1. **注册并获取API密钥**:首先,你需要在百度云推送的官方网站上注册一个账号,创建应用,并获取到AppID和API密钥。这两个参数在后续的推送请求中是必不可少的。 2. **安装SDK**:百度提供了C#版本的SDK,可以在...

    安卓消息推送通知栏相关-Android百度云推送通过百度云推送的SDK和下载的demo实现一个简单的消息推送.rar

    本教程将聚焦于如何使用百度云推送服务来实现在Android上进行消息推送。首先,我们需要理解“消息推送通知栏”这一概念,它是指应用接收到服务器推送的消息后,在用户设备的通知栏显示提醒,用户可以通过点击通知来...

    android百度云实现消息推送

    在Android开发中,为了实现实时的消息推送功能,开发者经常会选择使用第三方服务,其中百度云推送(Baidu Cloud Push)是一个常见的选择。本教程将详细讲解如何在Android应用中集成百度云推送,以实现高效、稳定的...

    阿里云推送

    通过集成阿里云推送SDK,开发者可以轻松地将系统通知、自定义消息推送到用户的手机上,且支持多种推送场景,如单播、群播、标签播等。 **集成阿里云推送** 集成阿里云推送SDK主要涉及以下步骤: 1. **注册阿里云...

    APICloud云平台推送技术指南

    APICloud云平台推送技术指南详细介绍了如何在APICloud平台上设置和管理iOS推送服务。此指南涉及了iOS推送证书的申请、转换、设置推送消息以及查看推送统计等多个方面,同时也详细解释了在接收推送消息时如何使用push...

    阿里云推送 java端代码

    阿里云推送比百度云推送效果好

    阿里云推送java服务器端的jar包

    在使用jar包之前,你需要在阿里云控制台上创建一个推送服务的应用,并获取到相应的AppKey和MasterSecret。这些是与你的服务器进行身份验证的关键参数。 3. **初始化客户端** 在Java代码中,使用提供的API初始化...

Global site tag (gtag.js) - Google Analytics