fns

package module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2024 License: Apache-2.0 Imports: 28 Imported by: 8

README

FNS


Golang的函数式框架。标准化协议来简化开发过程。

特性

使用

创建项目

一、安装fns

go install github.com/aacfactory/fns/cmd/fns@latest

二、使用fns创建项目。

mkdir {your project path}
cd {your project path}
fns init --mod={mod} --img={docker image name} --work={true} --version={go version} . 
## Example
# fns init --mod=foo.com/project --img={foo.com/project} --work=true --version=1.21.0 .
编写代码

一、理解项目结构

二、设置配置依赖

三、创建服务标识

四、创建函数

五、运行go generate生成代码

运行项目

设置环境变量激活配置

FNS-ACTIVE=local,则运行时使用fns-local.yaml的配置。

测试与分析
发布API文档

开启API文档功能,通过浏览器或相关OPENAPI工具进行查阅。

集群

开启集群功能即可,无需其它改动。

当运行在kubernetes环境中时,请使用 inject 把 POD IP 注入到FNS-HOST环境变量中,最后把配置中cluster.hostRetriever的值设置为env

客制化HTTP服务

第三方服务集成

服务化

服务化第三方服务的SDK,业务服务通过函数进行调用。

组件化

组件化第三方服务的SDK,然后注入到业务服务中。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigActiveFromENV added in v0.1.1

func ConfigActiveFromENV(key string) (active string)

Types

type Application

type Application interface {
	Deploy(service ...services.Service) Application
	Run(ctx context.Context) Application
	Sync()
}

func New

func New(options ...Option) (app Application)

type Option

type Option func(*Options) error

func ConfigRetriever

func ConfigRetriever(path string, format string, active string, prefix string, splitter byte) Option

func Handler added in v1.1.0

func Handler(handler transports.MuxHandler) Option

func Hooks

func Hooks(h ...hooks.Hook) Option

func Id added in v0.14.0

func Id(id string) Option

func LogWriters added in v1.2.0

func LogWriters(writers ...logs.Writer) Option

func Middleware added in v1.1.0

func Middleware(middleware transports.Middleware) Option

func Name added in v0.14.0

func Name(name string) Option

func Proxy added in v1.0.10

func Proxy(options ...proxies.Option) Option

func RegisterValidator added in v0.12.0

func RegisterValidator(register validators.ValidateRegister) Option

func ShutdownTimeout added in v0.12.0

func ShutdownTimeout(timeout time.Duration) Option

func Transport added in v1.0.10

func Transport(transport transports.Transport) Option

func Version

func Version(version string) Option

type Options

type Options struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL