时间:2021-05-22
最近发现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个来星期,我就实现了上面的中台系统;
go-zero作者私聊我说,可不可以写得丰富点,所以我决定把我的源码也加到文章里面
先看官方文档https:///go-sql-driver/mysql驱动,
将连接mysql的dsn:(因为我这使用的是gorm,所以dsn可能跟原生的格式不太一样,不过没关系,只需要关注charset和collation就行了)
root:password@/name?parseTime=True&loc=Local&charset=utf8
修改为:
root:password@/name?parseTime=True&loc=Local&charset=utf8mb4&collation=utf8mb4_unicode_ci
---------------------------------
mark
到此这篇关于如何用go-zero 实现中台系统的文章就介绍到这了,更多相关go-zero中台系统 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
区块链开发用什么语言?通过本文你将使用Go语言开发自己的区块链(或者说用go语言搭建区块链)、理解哈希函数是如何保持区块链的完整性、掌握如何用Go语言编程创造并
今天介绍如何用Go语言创建WebSocket服务,文章的前两部分简要介绍了WebSocket协议以及用Go标准库如何创建WebSocket服务。第三部分实践环节
前言为了快速回顾Go基本的语法知识,打算用Go中的基本语法以及特性来实现一些常见的数据结构和排序算法,通过分析如何实现一些基本的数据结构,可以很快学习Go的语法
一些Mac用户想要知道如何用系统自带的“屏幕共享”功能来控制另外一台Mac。在某些情况下,能够控制另外一台Mac能给我们带来不小的便利。
在上一篇文章里我介绍了在Android中如何实现IOS形式的滑动按钮,在这篇文章中我将介绍如何用Qt实现IOS形式的滑动按钮。其实在Android中实现这个和在