什么是cFwg?新手入门看这篇就够了!
今天跟大家唠唠我最近在搞的“cFwg”项目,一开始看到这个名字的时候,我也是一头雾水,心想这又是个啥玩意儿。后来才知道,就是个代号,具体是啥保密,但是可以跟大家分享下我整个实践的过程。
事情是这样的,老板突然找到我,说有个新项目,代号“cFwg”,让我负责。当时我心里咯噔一下,新项目?又要加班!但没办法,打工人嘛只能硬着头皮上。
我做的第一件事就是搞清楚需求。老板只给个大概的方向,很多细节都没确定。我就拉着产品经理、UI设计师开好几次会,一点一点抠细节。那段时间,每天晚上都搞到十一二点,眼睛都快瞎。
需求确定,接下来就是技术选型。这个项目对性能要求比较高,而且要支持高并发。我调研好几种技术方案,最终决定用Go语言。为啥选Go?主要是看中它的高性能和高并发特性,而且B站也在用Go,说明还是比较靠谱的。
技术选型确定,就开始搭建环境。我用Docker搭建一个开发环境,这样可以保证开发、测试、生产环境的一致性。然后,我又用Kratos搭建一个微服务框架,这样可以方便地管理各个服务。
环境搭建好之后,就开始写代码。这部分是最痛苦的,每天都要面对无数的Bug。有时候一个Bug要搞好几天才能解决,感觉头发都要掉光。不过我也学到很多东西,对Go语言的理解也更深入。
代码写完之后,就是测试。我写很多单元测试和集成测试,尽可能地覆盖所有的情况。测试过程中,又发现很多Bug,然后又是一顿猛改。
测试通过之后,就可以部署。我用Kubernetes部署项目,这样可以方便地进行扩容和容灾。部署过程中,也遇到一些问题,比如网络配置、权限管理等等,不过都一一解决。
项目终于上线!上线之后,我每天都盯着监控,看看有没有什么异常。还一切都比较平稳。
这回“cFwg”项目对我来说是一个很大的挑战,也是一个很大的收获。我学到很多新的技术,也提高自己的解决问题的能力。虽然过程很辛苦,但看到项目最终成功上线,心里还是很有成就感的。
需求分析:一开始就是不停的开会确认需求。 技术选型:选择GO语言。 环境搭建:Docker和Kratos。 代码编写:疯狂的debug。 测试:单元测试和集成测试不能少。希望我的分享能对大家有所帮助,也欢迎大家在评论区交流讨论。