基于 Teleport 的微服务框架 TP-Micro

码农软件 · 软件分类 · 微服务框架 · 2019-03-17 18:29:11

软件介绍

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的编解码类型

  • 支持插件扩展

  • 支持心跳机制

  • 日志信息详尽,支持打印输入、输出消息的详细信息(状态码、消息头、消息体)

  • 支持设置慢操作报警阈值

  • 支持自定义日志

  • 支持平滑关闭与更新

  • 支持推送

  • 支持的网络类型:tcptcp4tcp6unixunixpacket

  • 客户端支持断线后自动重连

  • 支持过载保护(断路器)

代码示例

  • 服务端

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 协议发布

本文地址:https://codercto.com/soft/d/1565.html

矩阵论

矩阵论

方保镕 / 清华大学出版社 / 2004-1 / 39.00元

本书比较全面、系统地介绍了矩阵的基本理论、方法及其应用。全书分上、下两篇,共10章,分别介绍了线性空间与线性算子,内积空间与等积变换,λ矩陈与若尔当标准形,赋范线性空间与矩阵范数,矩阵的微积分运算及其应用,广义逆矩阵及其应用,矩阵的分解,矩阵的克罗内克积、阿达马积与反积,几类特殊矩阵(如:非负矩阵与正矩阵、循环矩阵与素矩阵、随机矩阵和双随机矩阵、单调矩阵、M矩阵与H矩阵、T矩阵与汉大象尔矩阵等),......一起来看看 《矩阵论》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具