拨开浮云见神马-云计算PaaS平台实战

这是今天部门内部分享的PPT

Slideshare有些失真,ppt下载地址:PPT下载

首先介绍云计算概念PaaS+SaaS+IaaS。
然后以Cloud Foundry为PaaS代表。
使用Sinatra编写一个连接MySql查询CSDN用户信息的小应用,并部署到Cloud Foundry上。

本来想详细演示下这些功能

  1. 简单的hello world应用
  2. 连接mysql查询CSDN用户信息
  3. 给应用进行集群
  4. 演示应用的热部署。

后来由于网速等的不给力,走马观花过了一遍。

cloud foundry 官网:http://cloudfoundry.com
cloud foundry 源码:https://github.com/cloudfoundry

源码基本同http://rubyer.me/blog/1234,只是修改的访问数据库的代码。

1 #hello.rb
2 require 'active_record'
3 require 'sinatra'
4 require 'json'
5  
6 services = JSON.parse(ENV['VCAP_SERVICES'])
7 mysql_key = services.keys.select { |svc| svc =~ /mysql/i }.first
8 mysql = services[mysql_key].first['credentials']
9 #d7c8cf2bdb43179768bbc47e01636a这个是数据库名,没有找到相应的环境变量,所以写死了。
10 mysql_conf = {database: 'd7c8cf2bdb43179768bbc47e01636a':host => mysql['hostname'], :port => mysql['port'],
11 :username => mysql['user'], :password => mysql['password'], adapter:"mysql2", encode: "utf8"}
12  
13 ActiveRecord::Base.establish_connection(mysql_conf)
14  
15 class Csdn < ActiveRecord::Base
16 end
17  
18 # get "/"接收对根目录的get请求
19 get "/" do
20   #可以接收请求中的参数
21   @key = params[:key]
22   #如果参数来为空,说明是查询请求
23   if @key.present?
24     @csdns = Csdn.where("email like ? or username like ?""%"+@key"%","%"@key+"%" )
25   end
26  
27   #Sinatra可以渲染erb模板
28   erb :index
29 end

views/index.html.erb源码

1   Your missing hack tool
2  
3 Your missing hack tool(CSDN)</pre>
4 <form action="/" method="get">search for:
5  <input type="text" name="key" value="<%= @key if @key %>" />
6  <input type="submit" value="submit" /></form>
7 <pre>
8 </pre>
9 <div id="result">
10 <h3>Csdn results: ()</h3>
11 <table>
12 <tbody>
13 <tr>
14 <td>name</td>
15 <td>email</td>
16 <td>pwd</td>
17 </tr>
18 <tr>
19 <td></td>
20 <td></td>
21 <td></td>
22 </tr>
23 </tbody>
24 </table>
25 </div>
26 <h1>
27 </h1>
28 <pre>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值