wego_framework golang 集成开发框架开源项目

我要开发同款
匿名用户2019年09月30日
135阅读

技术信息

开源地址
https://github.com/9299381/wego
授权协议
未知

作品详情

wego 是一个采用go-kit模式封装的golag开发框架,专注编写业务逻辑。

开发流程:

编写service中间件组合中间件形成servicechaihadler由filter(edpoit)和servicechai组合形成 provider中注册hadlerserver的路由中注册各种hadler

内置支持Server

httpgrpcwebsocketcrojobtimercommadredisqueue内部evetservergatewayserver

mai.go

//如果参数配置了registy,则自动进行cosul的服务注册grpchttp都可//例如gorumai.go-ame=test_service-registy=127.0.0.1:8500-server=grpcwego.Provider(&providers.CosulRegistyProvider{})//这里注册自己的hadlerwego.Provider(&provider.ExamProvider{})//下面的server,根据启动args参数决定wego.Router("grpc",&router.GrpcRouter{})wego.Router("http",&router.HttpRouter{})wego.Router("queue",&router.QueueRouter{})wego.Router("commad",&router.CommadRouter{})wego.Router("websocket",&router.WebSocketRouter{})wego.Router("timer",&router.TimerRouter{})wego.Router("cro",&router.CroRouter{})//内置加载事件服务,无需路由,直接调用hadlerwego.Router("evet",servers.NewEvetCommServer())wego.Start()

举例

//经过jwt认证后的用户id,和amefmt.Pritl(ctx.Request("claim.Id"))fmt.Pritl(ctx.GetValue("request.claim.Name"))//cache使用v,_:=cache.Get("aaaaa")v:=make(map[strig]iterface{})v["aaa"]="bbb"v["ccc"]="ddd"_=cache.Set("aaaaa",v,60)//日志使用ctx.Log.Ifo("oe....")ctx.Log.Ifof(format,arg...)//请求参数ctx.Request("claim.Id")//返回值ctx.Respose("aa.bb","cc")ctx.Respose("aa.cc","dd")//redis使用cliet:=cliets.Redis()//从pool中获取一个链接defercliet.Close()//延时释放链接,本方法执行完毕时释放_,_=cliet.Do("SET","go_key","value")//mysql使用user:=model.CommUser{Id:id}has,_:=cliets.DB().Get(&user)//evet使用params:=make(map[strig]iterface{})payload:=&cotracts.Payload{Route:"two",->接收处理的hadlerParams:params,}evets.Fire(payload)//redisqueue使用默认db->1msg:=make(map[strig]iterface{})msg["aaa"]="bbb"err:=queues.Fire("demo1",->发送的redis队列"queue_test",->侦听队列的server需要处理的路由hadlermsg,)//远程服务调用,//为现有php模式而封装params:=make(map[strig]iterface{})params["test_rpc_post"]="test_rpc_post"resp:=cliets.Micro("cosul_demo").//服务的名称Service("demo.post").//服务的注册的hadlerParams(params).Ru()该方法会从cosul中获取注册的服务,并随机选择一个进行请求,支持grpc和httpposthttppost对应的远端路由为http:/host+port/demo/post

功能介绍

wego 是一个采用 go-kit 模式封装的 golang 开发框架,专注编写业务逻辑。 开发流程: 编写 service 中间件 组合中间件形成 service chain handler ...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论