Kratos 借着近日 B 站风波重回 GitHub 趋势榜,Kratos 是 bilibili 开源的一套 Go 微服务框架,包含大量微服务相关框架及工具。通过研究源代码,你会发现 Go 语言对比其它语言有很多难以替代的优势。
那么为什么以 Google、Docker 等大公司为代表的科技前沿者对 Go 宠爱有加?
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
- 简洁、快速、安全
- 并行、有趣、开源
- 内存管理、数组安全、编译迅速
如何才能借着 Go 的东风,成为一名 Go 语言开发者应该j具备哪些技能,学会哪些绝招才能从众多程序员中脱颖而出呢?
Go 开发者路线图让你不再迷茫!而且是全中文!
![2f5cceb2fdba05dc02e12a8784c59055.png](https://i-blog.csdnimg.cn/blog_migrate/d4f1b9a26e540cdc3d847a0986fe9a5e.jpeg)
- 1.先决条件
Go、Dep、SQL
- 2.通用开发技能
- 学习 GIT,在 GitHub 上建立一些仓库,与其它人分享你的代码
- 了解 HTTP(S) 协议,request 方法(GET, POST, PUT, PATCH, DELETE, OPTIONS)
- 不要害怕使用 Google,Google 搜索的力量
- 看一些和数据结构以及算法有关的书籍
- 学习关于认证的基础实现
- 面向对象原则等等
- 3.命令行工具
cobra、urfave/cli
- 4.网页框架 + 路由
Echo、Beego、Gin、Revel、Chi
- 5.数据库
关系型:SQL Server、PostgreSQL、MariaDB、MySQL
云数据库:CosmosDB、DynamoDB
搜索引擎:ElasticSearch、Solr、Sphinx、NoSQL、MongoDB、Redis、Apache Cassandra、LiteDB、RavenDB、CouchDB
- 6.对象关系映射框架
Gorm、Xorm
- 7.高速缓存
GCache、分布式缓存、Go-Redis
GoMemcached
- 8.日志
日志框架:Zap、ZeroLog、Logrus
日志管理系统:Sentry.io、Loggly.com
- 9.实时通讯
Socket.IO
- 10.API 客户端
REST、Gentelman、GRequests、heimdall、GraphQL
- 11.最好知道
Validator、Glow、GJson、Authboss、Go-Underscore
- 12.测试
单元,行为,集成测试:GoMock、Testify、GinkGo、GoMega、GoCheck、GoDog、GoConvey
端对端测试:Selenium、Endly
- 13.任务调度
Gron、JobRunner
- 14.微服务
消息代理:RabbitMQ、Apache Kafka、ActiveMQ、Azure Service Bus
消息总线:Message-Bus
框架:GoKit、Micro、RPC、Protocol Buffers、gRPC-Go、gRPC-Gateway
- 15.Go-模式
GitHub 地址:
全中文导航地图:https://github.com/Quorafind/golang-developer-roadmap-cn
英文原版:https://github.com/Alikhll/golang-developer-roadmap
正版 bilibili 开源:https://github.com/bilibili/kratos
高清大图请关注小编并私信哦~