上个项目FavAni基本做完了 --> 开发路线现在想做个游戏的go后端项目.花了很久的时间去构思技术栈,也从github的一个游戏开发路线的仓库得到了诸多参考。

grpc前言gRPC是Google 开发的高性能、开源的远程过程调用(RPC)框架,基于 HTTP/2 协议进行通信,使用 Protocol Buffers(protobuf)作为接口定义语言,可以看为一种协议。grpc可以用于各种不同服务间的通信,屏蔽底层细节(如编程语言,操作系统等)由于我的一个go后端(也可以不是go)需要实现神经网络相关的功能,我要调用一个python的服务,于是想到了使用grpc的方式。初次接触,将从0介绍到功能实现。

在go的项目中,运行配置经常需要修改的,比如端口号,地址,各种变动的token,这些值都是随时可能根据需求变动的。如果写死在程序里,要修改的时候会很不方便。同时,一些敏感的数据比如各种用户名,或者密码,也需要集中存放,便于查询也便于保护。这一般都通过配置文件来实现,json或者yaml。本人比较喜欢使用yaml的配置,比较美观易读。不重要的配置数据可以直接在配置文件中明写,敏感的可以写密文,然后把密钥写环境变量中。

最近看了Go语言的后端框架,简单看了看GIN框架。但是在写demo程序的时候,每次运行生成exe文件都会除非防火墙,实在麻烦,通过查阅各种网页资料,已经解决。问题关键就在于GIN框架下,每次用r.run('8080')启动,这其实使用了0.0.0.0:8080(0.0.0.0代表本机上任何IP地址)修改为:r.Run("127.0.0.1:8080")或者r.Run("loaclahost:8080")即可