服务计算学习之路三——用beego框架构建cloudgo简单应用

服务计算学习之路4——用beego框架构建cloudgo简单应用

选择beego框架

  • 原因?

    • beego基于MVC架构
    • beego相对于其它框架(最好的6个go Web框架),它的开发文档是中文的。
  • beego的安装

    • beego官网介绍很详细,不过感觉beego官网不太稳定,有时会崩。
    • 使用命令go get github.com/astaxie/beego但我在centos7下要用go get -u github.com/astaxie/beego才行
    • 如果要用beego做复杂点应用建议安装beego官方推荐的bee工具:go get github.com/beego/bee,但本次作业还没有用到。

代码实现

beego把功能分成很多模块,继承后重写一些方法就ok了,由于代码很短就直接贴上来了

package main

import (
	"github.com/astaxie/beego"
)

type MainController struct {
	beego.Controller //这相当于继承beego里的Controller类
}

func (controller *MainController) Get() { //重写Get方法
	username := controller.Ctx.Input.Param(":name")      //获取路由信息
	controller.Ctx.WriteString("Helloword! " + username) // 没用beego的模板,直接往网页写东西
}

func main() {
	beego.Router("/cloudgo/:name", &MainController{}) //设置路由,传入controller处理函数
	beego.Run(":9000")                                //在9000端口上运行
}

curl测试

服务计算学习之路三——用beego框架构建cloudgo简单应用_第1张图片
分别是开启端口监听前和开启后curl测试的结果

压力测试

  • Centos7要先安装ab

    yum -y install httpd-tools
    
  • ab测试:
    服务计算学习之路三——用beego框架构建cloudgo简单应用_第2张图片
    服务计算学习之路三——用beego框架构建cloudgo简单应用_第3张图片

  • 参数解析:
    -n 即requests,用于指定压力测试总共的执行次数。
    -c 即concurrency,用于指定的并发数。
    其它还有很多参数,这次没用到就先别说了。

代码on Github

  • 代码传送门

你可能感兴趣的:(服务计算)