最近在做一个告警发送邮件服务,用到了go+beego。首先为什么要做成一个服务的形式呢,因为服务的话基于某个协议,如http协议,定义一个资源,如一段文本、一张图片、一首歌曲、一种服务,然后调用者可以用其需要用的语言,如java、scala、go等,而提供此服务的方法只需要编写一次。如果不是服务的形式,就得调用者用java你得给他写个java的服务流程,调用者用scala你得给他写个scala的服务流程。
首先,为什么用beego呢,因为beego是基于RESTful架构的。那么什么是RESTful架构呢,网上有很多解释,这里就不多说了,只记录一下从网上搜集来的比较经典的几条:
1、增删改查都是一个URL地址,具体靠http头部信息判断;
2、http协议实现的函数声明
3、利用htttp协议语义构建的语义化、可缓存的接口
4、就是一个RPC模型
5、URL定位资源,用http动词(Get、Post、Delete等)描述操作