“
序言
今天是第四天,对于每天坚持完成任务,专心做几件事,用记笔记的方式记录下来,总结一天,还是不错的。
今日计划安排
我的一天
对于今天的任务最重要的就是第一个了,可以说我今天百分之70的时间都用到了这个任务上,为什么会花费这么长的时间,因为对于这个任务,我是把它当成了具体的项目来写,从前端请求到网关进行转发到服务,再到具体的函数,中间的步骤至少花了二三十个函数,而这些函数也并非都在一个包,本篇文章只介绍我包的划分和服务中的每个包的作用,如下图:
这张图中config中是常用的配置文件,包括请求地址,数据库连接等,login中主要是登录时的业务逻辑所用的函数和操作数据库的函数,main包很明显就是启动该服务中的代码在这里面,model包中主要是实体,util中主要是该服务本身用到的一些工具类函数,这部分不属于公用。
common见名知意,就是公共的一些组件,用于辅助服务用到的公共包,这里面的包极具有公用性,可以和其它服务任意组装,首先第一个是commonpool是一个公共的池,这里面是我用Go自身携带的池子进行了封装,可以自定义各种连接池,用于获取连接,不用的连接放回去,比如数据库连接,redis连接等均可用这个组件,preflect包是一个用于反射的包,此包中定义了一些服务在进行找具体的函数是,需要通过反射找到原本的类型。result包是一个返回自定义结果的包,可扩展,相信随着扩展,这个包会变的越来越好用,利用它,服务就可以减少代码量的重复。route和urlphrase包是http用到的路由解析包,解析出来的路径需要和配置文件进行比对找到正确的服务。下面提供一张写代码之前我画的图,
上午我主要完成了基本的一个流程,这一段的代码是最难的,在下午我才开始完成业务逻辑,相对来讲比较简单,大概下午3多点的时候我完成了,还算满意,如果后面扩展还是相对容易的。如果想看源码的可以私聊我,也可以共同探讨,我就不放在这上面了。
写完上面的休息完了会,开始复习之前了解的微服务,因为平时在看博客的时候有留意这一块,收藏的文章有的没有看,刚好可以接下来看。因为晚上7点工作室开会,所以去吃饭也是6点就去了,回来后又整理了一下明日的计划,开完会就开始写这篇文章了。