腾讯云智慧教育产业链技术升级之http应用框架——Tigo。
引言:
腾讯内部原先一些老旧的PHP业务,近年来都在逐渐进行技术栈切换,一要“上云”,二要“切go”。在这个业务背景下,易上手的go框架开始使用了。
新旧技术栈的对比:
旧技术栈:
编程语言:PHP(Yii框架腾讯二次开发版本)
数据库:MySQL、Redis
负载均衡:NGINX
新技术栈:
编程语言:Go(Tigo框架)
数据库:CDB
负载均衡:CLB
其中CDB是腾讯云的组件,包含MySQL与redis。CLB是腾讯云提供的负载均衡组件。
Yii框架的helloworld:
<?php
namespace app\controllers;
use yii\web\Controller;
class SiteController extends Controller
{
// ...现存的代码...
public function actionSay($message = 'Hello')
{
return $this->render('say', ['message' => $message]);
}
}
Tigo框架的Helloworld:
package main
import (
"github.com/karldoenitz/Tigo/TigoWeb"
"net/http"
)
// handler
type DemoHandler struct {
TigoWeb.BaseHandler
}
func (demoHandler *DemoHandler) Get() {
demoHandler.ResponseAsText("Hello Demo!")
}
// 路由
var urls = []TigoWeb.Router{
{"/demo", &DemoHandler{}, nil},
}
func main() {
application := TigoWeb.Application{
IPAddress: "127.0.0.1",
Port: 8888,
UrlRouters: urls,
}
application.Run()
}
Tigo框架的简介:
Tigo是一款Model-view-template特性的web应用框架,简单易上手,熟悉tornado或者flask的同学可以快速上手。
项目github地址:点击此处
项目主页:点击此处
新产品的检验:
目前腾讯云智慧教育开放平台、企鹅智笔课堂、企鹅星盟、企鹅派等项目都有在用。