服务计算作业4——cloudgo(基本要求)
来源:互联网 发布:刷手淘宝号 编辑:程序博客网 时间:2024/06/05 20:21
服务计算作业4——cloudgo(基本要求)
花了一个下午才搞懂这次实验的要求是什么。参考了大佬的README.md之后才勉强完成了基本要求。
过程:
- 按照老师给出的代码实现一遍流程:
老师的代码:https://github.com/pmlpml/golang-learning
下载zip后解压。
我这里的做法可能有点蠢:
找到service文件
放在GOPATH的src文件中
修改main函数中service包的地址
运行代码:
现在就开始监听了。
打开另一个终端输入老师提供的地址即可完成老师提供的实验,这里先不截图了。
2.仿照进行实验:
main.go函数几乎不变:
package mainimport ( "os" "service" flag "github.com/spf13/pflag")const ( PORT string = "8080" /*设置默认的端口为8080*/)func main() { port := os.Getenv("PORT") /*如果没有监听到端口,那么端口为8080*/ if len(port) == 0 { port = PORT } pPort := flag.StringP("port", "p", PORT, "PORT for httpd listening")/*设置端口*/ flag.Parse() if len(*pPort) != 0 { port = *pPort } service.NewServer(port)/*启动服务器*/}
service函数:
(要放在service包中)
package serviceimport ( "github.com/go-martini/martini" /*使用martini*/)func NewServer(port string) { /*新建服务器*/ m := martini.Classic() /*添加参数[name]martini的参数中*/ m.Get("/hello/:name", func(params martini.Params) string { return "Hello " + params["name"] + "でていけ!"/*你好世界,快滚*/ }) /*对应mian函数中的端口*/ m.RunOnAddr(":"+port) }/*test ip*//*http://localhost:9090/hello/world*//*test curl*//*curl -v http://localhost:9090/hello/world*//*test ab*//*ab -n 1000 -c 100 http://localhost:9090/hello/world*/
我这里使用的是martini框架,也是看了大佬的完成之后才选的。
因为它看起来比较简单【。。。】
可能在编译main.go的时候,会出现报错缺少包:go-martini/martini
这个时候不需要慌张,打开浏览器输入:“github.com/go-martini/martini”
下载zip:
解压放在你的
里面是这样的:
就是把上面的zip压缩文件解压,然后修改一下文件名变成这样就可以编译了。
出现缺少的github.com/xx文件就去github找文件就好了。
因为我虚拟机连不上网,只能用这个方法了。
3.测试:
找到main函数并运行:
test ip:
打开浏览器输入:
可以看到监听到了网页请求的信息。
test curl
打开另一个终端输入: curl -v http://localhost:9090/hello/world
也可以监听到了。
test ab
打开另一个终端输入: ab -n 1000 -c 100 http://localhost:9090/hello/world
经过压力测试,可以看到发送了1000个请求。
每一个请求花费时间为0.5ms
一半的请求需要47ms
全部请求花费了92ms
- 服务计算作业4——cloudgo(基本要求)
- 服务计算作业4——cloudgo(扩展任务)
- 服务计算作业5——cloudgo-inout
- 服务计算作业6——cloudgo-data
- 服务计算作业2——selpg
- 服务计算作业3——agenda
- cloudgo
- 服务计算作业1——配置环境
- 服务计算作业3——agenda(测试)
- 服务计算作业7——servive-agenda(个人部分)
- 大规模并行批处理作业的分布式云服务——批量计算使用教程
- 大规模并行批处理作业的分布式云服务——批量计算使用教程
- php 程序员(基本要求)
- 信息系统安全等级保护基本要求——技术要求
- 信息系统安全等级保护基本要求——管理要求
- 服务计算——Selpg
- 服务计算——agenda
- cloudgo-data
- 使用java容器(集合类)模拟商城
- day09_内容提供者
- java二维数组 初始化及使用其长度 &&二维数组中的查找 [转载]
- 从汇编看c语言函数调用
- JUnit4的入口类
- 服务计算作业4——cloudgo(基本要求)
- mysql组合更新
- Android OpenGL教程-第二课【转】
- 4.从Request中获取文件数据
- 结构体变量的引用
- 日常记录
- MyBatis注解方式与映射文件方式配合实现一对一,一对多,多对多(一)
- 排序算法学习经验(四)
- 【DFS】UVa839 天平(Not so Mobile)