Golang的函数式框架。标准化协议来简化开发过程。
- 标准化
- 适用于企业开发。
- 高并发
- 协程池
- 支持 Fasthttp
- 栅栏
- TLS
- 多版本HTTP
- 集群
- 官方服务
- 数据库
- SQL
- 分布式事务
- Postgres ORM
- Mysql ORM
- Redis
- SQL
- 消息
- RabbitMQ
- Kafka
- RocketMQ
- MQTT
- 第三方服务集成
- Oauth
- 支付
- 短信
- 通知
- 数据库
一、安装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文档功能,通过浏览器或相关OPENAPI工具进行查阅。
开启集群功能即可,无需其它改动。
当运行在kubernetes
环境中时,请使用 inject 把 POD IP 注入到FNS-HOST
环境变量中,最后把配置中cluster.hostRetriever
的值设置为env
。
服务化第三方服务的SDK,业务服务通过函数进行调用。
组件化第三方服务的SDK,然后注入到业务服务中。