1 gin框架介绍
gin框架是Go语言进行web开发(api开发,微服务开发)框架中,功能和Martini框架类似的API,但是性能却特别好的一个框架(比Martini快将近40倍吧),所以如果你特别在乎性能,那么Gin会是一个比较好的选择。
gin框架主要基于httprouter模块进行实现。gin框架和httprouter都是一个开源的框架。
微服务本身即是一种开发模式,将业务拆分成为一个个细小的微服务模块,然后以api(rpc)方式对外提供实现,实现的功能是一个独立的业务模块,那么使用轻量级的gin便是一个不错的选择。
2 gin框架包含的功能模块
gin框架包含了以下主要功能:
http请求的Context上下文
基础的auth认证模块
带颜色的logger模块
运行模式mode设定
响应处理的responsewriter模块
以及路由组routergroup
3 gin框架使用例子
简单的api服务代码:启动一个ping,pong的api服务。
服务端运行结果:
客户端发起rest api请求(截图中使用的vs code中的httpclient插件)
其中重点核心是gin.Context这个类型,gin框架封装了真个http请求打得解包过程,回调给业务层的时候直接抛出Context对象,然后Context对象可以直接调用Json方法以Json方式给客户端响应,或者JsonP方式给客户端以Jsonp方式响应。
gin的设计模式非常简单(相对于复杂的参考pythondjango和flask基础进行设计的beego来说,少了MVC的设计思路知道,也不会严格区分model,controller,router等),但是其实是可以考虑使用MVC的模式进行一层封装的,这个有兴趣的朋友可以考虑下,就是严格吧router,controller,和model分离。
4 gin框架性能情况
加载不同的pai的router结构需要的存储空间对比性能:
网友评论