前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DEM项目日志

DEM项目日志

作者头像
Kevinello
发布2022-08-19 11:08:20
5310
发布2022-08-19 11:08:20
举报
文章被收录于专栏:Kevinello的技术小站

前言

在Whosbug项目即将上线,已经开始mr合流、code review的时候,突然被领导拉去做DEM了(还是挺突然的)

DEM 是基于Go开发的一套完善的告警系统,而我当时对于Go语言的使用仅限于简单使用iris框架和日常刷算法题,所以分配到这个需求还是很虚的

DEM一期开发工作

和Whosbug不同,这次DEM的项目开发工作,我是半途加入的,而且是远程工作,所以免不了项目接入成本和环境成本,也是这次经历让我明白了为什么那么多公司不愿意提供远程实习的岗位

过程

接入项目

接到需求的第一天与学长进行了对接会议,当天和之后的一天按学长的介绍读了下我负责的alert模块的代码,熟悉一点了之后,开始尝试着手写负责的功能模块

完成功能模块

这部分工作在熟悉了数据流和数据结构后比我想象的要简单,一些细节问题上问了下学长之后,一个下午就写完了,与学长确认后认为应该妹有问题,但还是需要测试的

测试环境准备

配置好vscode的远程调试(卡了三天)

配置好依赖和一系列环境变量(卡了三天)

至此终于能正常调试了 大概这就是remote吧,踩了少说十个坑…

功能模块的单元测试

搭好环境过后开始马不停蹄地测试,期间遇到了一些问题(kafka消息长度校验,模块某些方法的缺陷等),但都一一解决了,都没有被卡很久,一个周末就完成了整个模块所有数据流的测试

难点

接入项目

因为太久没读过go了而且并没有读过大型go项目的源码,所以读起来还是比较生疏,甚至一些简单的结构都还要反应一下才能明白是什么意思,不过边读边和学长询问讨论,慢慢还是熟悉了数据结构和数据流

测试环境准备

因为DEM还没有配好灰度,而且之前whosbug没用到过远程调试,所以还需要配一下远程调试,一开始想试一下Goland的远程调试,好不容易挂上代理,sftp连上内网开发机之后,才发现jetbrain家的远程调试是基于 Delve 的,而基于 Delve就需要云主机开放一个端口,但腾讯Devcloud的云主机对外网只开放几个端口,都已经占用了,最后还是选择用vscode 的SSH调试

通过corkscrew挂上腾讯IOA的代理,并改了云主机中sshd的AllowTcpForwarding设置、删除~/.vscode-server后重连后,总算是能正常调试早就写好的功能模块了(这里卡了三天)

正常连接上了还没结束,要想正常调试功能模块,还得先把依赖都装上,通过docker装上了postgre,redis和kafka(期间还遇到了dockerhub限制pull次数的问题以及docker版本问题),并在pg内建好一系列要用的表,插入数据后;我以为万事俱备了,然而实际运行的时候却连不上kafka,在开发机试了下curl连接容器,报了个connection reset by peer,google一番发现是docker的网络问题,docker run的时候加上了–net指定了网络后就能正常访问了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • DEM一期开发工作
    • 过程
      • 接入项目
      • 完成功能模块
      • 测试环境准备
      • 功能模块的单元测试
    • 难点
      • 接入项目
      • 测试环境准备
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档