1. 服务网格
服务网格(Service Mesh)是一种将服务之间的通信从应用层解耦到基础设施层的技术。在服务网格中,通过代理服务之间的流量来实现基础设施层的抽象。

mapstructure 可用于将通用的map[string]interface{}
解码到对应的 Go 结构体中,或者执行相反的操作。
github 地址: github.com/mitchellh/mapstructure
decimal 对于浮点数的计算提供了极大的便利性,让我们在使用浮点数进行大小计算的时候不用担心精度丢失的问题,decimal库能处理小数点后 2^31 位数字,对于绝大多数的项目精度要求是足够的,简而言之,decimal 可以解决我们绝大多数的浮点数精度计算场景。
由于golang中默认是没有decimal类型的,所以要解决上述的问题,需要使用第三方库包decimal。
github 地址:https://github.com/shopspring/decimal
可以参考:https://github.com/golang-standards/project-layout/blob/master/README_zh.md
/cmd
本项目的主干,cmd应用目录负责程序的:启动、关闭、配置初始化等。
每个应用程序的目录名应该与你想要的可执行文件的名称相匹配(例如,/cmd/myapp)。
不要在这个目录中放置太多代码。如果你认为代码可以导入并在其他项目中使用,那么它应该位于 /pkg 目录中。如果代码不是可重用的,或者你不希望其他人重用它,请将该代码放到 /internal 目录中。