这是今天部门内部分享的PPT
Slideshare有些失真,ppt下载地址:PPT下载
首先介绍云计算概念PaaS+SaaS+IaaS。 然后以Cloud Foundry为PaaS代表。 使用Sinatra编写一个连接MySql查询CSDN用户信息的小应用,并部署到Cloud Foundry上。
本来想详细演示下这些功能
简单的hello world应用 连接mysql查询CSDN用户信息 给应用进行集群 演示应用的热部署。
后来由于网速等的不给力,走马观花过了一遍。
cloud foundry 官网:http://cloudfoundry.com cloud foundry 源码:https://github.com/cloudfoundry
源码基本同http://rubyer.me/blog/1234 ,只是修改的访问数据库的代码。
2
require
'active_record'
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'
]
10
mysql_conf = {database:
'd7c8cf2bdb43179768bbc47e01636a'
,
:host
=> mysql[
'hostname'
],
:port
=> mysql[
'port'
],
11
:username
=> mysql[
'user'
],
:password
=> mysql[
'password'
], adapter:
"mysql2"
, encode:
"utf8"
}
13
ActiveRecord::Base.establish_connection(mysql_conf)
15
class
Csdn < ActiveRecord::Base
24
@csdns
= Csdn.where(
"email like ? or username like ?"
,
"%"
+
@key
+
"%"
,
"%"
+
@key
+
"%"
)
views/index.html.erb源码
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
>
10
<
h3
>Csdn results: ()</
h3
>