在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近发现golang社区里出了一个新星的微服务框架,来自好未来,光看这个名字,就很有奔头,之前,也只是玩过go-micro,其实真正的还没有在项目中运用过,只是觉得 微服务,grpc 这些很高大尚,还没有在项目中,真正的玩过,我看了一下官方提供的工具真的很好用,只需要定义好,舒适文件jia结构 都生成了,只需要关心业务, 加上最近 有个投票的活动,加上最近这几年中台也比较火,所以决定玩一下, 先聊聊中台架构思路吧,look 先看架构图 中台的概念大概就是把一个一个的app 统一起来,反正我是这样理解的 先聊用户服务吧,现在一个公司有很多的公众号,小程序,微信的,支付宝的,还有xxx xxx ,很多的平台,每次开发的时候,我们总是需要做用户登陆的服务,不停的复制代码,然后我们就在思考能不能有一套独立的用户服务, 只需要告诉我你需要传个你要登陆的平台(比如微信),微信登陆,需要的是客户端返回给服务端一个code ,然后服务端拿着这个code去微信获取用户信息,反正大家都明白, 我们决定,将所有的信息 弄到 配置公共服务中去,里面在存,微信,支付宝,以及其它平台的 appid ,appkey,还有支付的appid,appkey, 这样就写一套 -------------------------------------------------------------------------------------------- go-zerio: https://github.com/tal-tech/go-zero 最后说说实现吧,整个就一个repo 网关,我们用的是: go-zero的Api服务 其它它的是服务,我们就是用的go-zero的rpc服务 看下目录结构
整个项目完成,我一个人操刀, 写了1个来星期,我就实现了上面的中台系统; 最后说说遇到的坑吧: grpc 本人第一次用,然后就遇到了,有些字符为空时,字段值不显示的问题: 通过grpc官方库中的 跨域问题: go-zero的设置了,感觉没有效果,大佬说通过nginx 设置,后面发现还是不行,最近 ,强行弄到了一个域名下,后面有时间再解决 go-zero的sqlx 问题,这个真的费了很长的时间, time.Time 这个数据结构,数据库中用的是 timestamp 这个 比如我的字段 是delete_at 默认数库设置的是null ,结果插入的时候, 其次就是这个 Conversion from collation utf8_general_ci into utf8mb4_unicode_ci,这个导致的大概原因是,现在都喜欢用emj表情了,mysql数据识别不了 最后发现是数据连接问题: mysql这边照样按照原始的方式,将配置文件修改编码格式 --------------------------------- mark
|
请发表评论