TP-Micro基于 Teleport 的微服务框架
TP-Micro 是一个基于 Teleport 定制的、简约而强大的微服务框架。
安装
go version > 1.9
go get -u -f -d github.com/xiaoenai/tp-micro/... cd $GOPATH/src/github.com/xiaoenai/tp-micro/cmd/micro go install
特性
支持服务自动发现
支持自定义服务链接选择器
支持负载均衡
支持多路复用IO及其连接池
支持自定义协议
支持自定义Body的编解码类型
支持插件扩展
支持心跳机制
日志信息详尽,支持打印输入、输出消息的详细信息(状态码、消息头、消息体)
支持设置慢操作报警阈值
支持自定义日志
支持平滑关闭与更新
支持推送
支持的网络类型:
tcp
、tcp4
、tcp6
、unix
、unixpacket
等客户端支持断线后自动重连
支持过载保护(断路器)
代码示例
服务端
package main import ( micro "github.com/xiaoenai/tp-micro" tp "github.com/henrylee2cn/teleport" ) // Arg arg type Arg struct { A int B int `param:""` } // P handler type P struct { tp.PullCtx } // Divide divide API func (p *P) Divide(arg *Arg) (int, *tp.Rerror) { return arg.A / arg.B, nil } func main() { srv := micro.NewServer(micro.SrvConfig{ ListenAddress: ":9090", }) srv.RoutePull(new(P)) srv.ListenAndServe() }
客户端
package main import ( micro "github.com/xiaoenai/tp-micro" tp "github.com/henrylee2cn/teleport" ) func main() { cli := micro.NewClient( micro.CliConfig{}, micro.NewStaticLinker(":9090"), ) defer cli.Close() type Arg struct { A int B int } var result int rerr := cli.Pull("/p/divide", &Arg{ A: 10, B: 2, }, &result).Rerror() if rerr != nil { tp.Fatalf("%v", rerr) } tp.Infof("10/2=%d", result) rerr = cli.Pull("/p/divide", &Arg{ A: 10, B: 0, }, &result).Rerror() if rerr == nil { tp.Fatalf("%v", rerr) } tp.Infof("test binding error: ok: %v", rerr) }
开源协议
Micro 项目采用商业应用友好的 Apache2.0 协议发布
评论
TP-Micro基于 Teleport 的微服务框架
TP-Micro是一个基于 Teleport 定制的、简约而强大的微服务框架。安装go version > 1.9go get -u -f -d github.com/xiaoenai/tp-m
TP-Micro基于 Teleport 的微服务框架
0
GMS基于 gnet 的微服务框架
GMS今天是2020年10月24日,一年一度的程序员节,把这个还在开发中的项目开源出来,感兴趣的朋友可以一起参与开发。如果有大神路过请多指教。GMS是一款基于 gnet 网络框架开发的GolangRP
GMS基于 gnet 的微服务框架
0
Jboot一个基于 JFinal 的微服务框架
Jboot,专为大型分布式项目和微服务而生。她是一个基于jfinal和undertow开发的微服务框架。提供了AOP、RPC、分布式缓存、限流、降级、熔断、统一配置中心、swaggerapi自动生成、
Jboot一个基于 JFinal 的微服务框架
0
Notadd基于 nest.js 的微服务开源框架
Notadd 是一个开源的、基于 Nest.js 框架的微服务开发架构,您可以根据不同的业务需求使用
Notadd基于 nest.js 的微服务开源框架
0
Notadd基于 nest.js 的微服务开源框架
Notadd是一个开源的、基于Nest.js框架的微服务开发架构,您可以根据不同的业务需求使用适合的模块、插件来搭建一个微服务系统。Notadd官方提供了抽象化的公共服务层,在服务层内,每一个模块都提
Notadd基于 nest.js 的微服务开源框架
0
【程序源代码】基于 JFinal 的微服务框架
关键字:java springboot正文 | 内容 一个基于 JFinal 的微服务框架,SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,目前有超过 1000 家公司在使用 Jboot 做极速开发...使用 Jboot 开发应用,建...
程序源代码
0
php-msf基于 Swoole 的 PHP 微服务框架
PHP微服务框架即“MicroServiceFrameworkForPHP”,是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,简称msf或者php-msf,是S
php-msf基于 Swoole 的 PHP 微服务框架
0