MOSN 是一款使用 Go 语言开发的网络代理软件,作为云原生的网络数据平面,旨在为服务提供多协议,模块化,智能化,安全的代理能力。MOSN 是 Modular Open Smart Network-proxy 的简称。MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡,API Gateway,云原生 Ingress 等使用。
简而言之,是 Nginx、HaProxy、Envoy、 Traefik 等软件的竞争者或替代品。
Envoy 是个强大的工具,不过由于它是 C++ 编写,面临技术栈上投资回报率的考量。
因此,MOSN 工具很值得期待和研究。
# go verison: 1.14
# os : ubuntu mac os
# build local
go get -u -v mosn.io/mosn
cd $GOPATH/src/mosn.io/mosn
make build-local
# run local
./build/bundles/v0.10.0/binary/mosn start -c build/bundles/v0.10.0/binary/mosn_config.json
编译说明:
如果遇到以下错误
verifying github.com/apache/dubbo-go-hessian2@v1.3.0: checksum mismatch
downloaded: h1:VLDQuaoFRI6Wh9QJwRka4/Y9a0sE3jJXCGYGWw5bjvE=
go.sum: h1:ZhQYDm8GHqIp6i53T4ZJHQBN11nAYAjxlwoVznfyvD8=
SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.
解决方法: 删除或改名 go.sum 再重新编译即可。
原因: 本地的 golang 版本与官方开发者的golang 版本不一致,计算 hash 的结果不同导致的。
网友评论