1-1 请说一下你项目中是如何进行项目管理和发布的
我们的项目中是使用的gogs来进行管理的,使用jenkins来完成项目的发布。
首先先登录gogs创建一个项目仓库,把代码同步到本地进行开发。
然后当我们完成了自己的所开发的代码,再推送给gogs。
最后,在推送过程中,gogs收到了代码的提交请求之后,就会向jenkins发送通知,jenkins在收到通知后就会通过自身脚本进行清理和打包,Jenkins可以根据脚本生成镜像,然后将镜像部署到容器中。
以上就是我们在项目中使用gogs和jenkins进行项目管理的步骤。
1-2 现在浏览器点击按钮出现了一个报错,如何定位发生问题的代码
想要定位问题代码,首先要搞清楚业务流程是什么样的,通过业务流程来定位可能涉及的微服,然后可以用打断点的方式找出代码中的错误。
首先,打开浏览器的开发者工具,打开控制台界面,查看请求和响应的详细信息,以便确定是否有请求失败或返回错误。
然后看一下nginx的配置文件找到请求转发的网关,确保 Nginx 的配置正确地将请求转发给后端网关。
接下来在Gateway服务中查看application配置文件,找到对应的微服务名称。
之后再找到的微服务中,查看日志文件是否有相关的错误信息。
最后在微服务的代码中设置断点,使用调试工具来逐步调试代码并查看变量的值和代码的执行流程。
在整个流程中对每个步骤都进行仔细的检查和排查,就可以尽快定位和解决问题。
1-3 你得项目中进行用户的登录和检验的详细流程是怎样的
登录的本质就是对用户表中的用户名和密码进行比对
首先用户在客户端输入账户和密码,并将请求发送到Nginx。Nginx反向代理将请求转发到网关微服务。
然后网关微服务接收到登录请求后,进行用户身份验证。验证通过后,将请求发送给用户微服务进行处理。
之后用户微服务根据账号在数据库中进行查询,如果未查询到,返回账号不存在的提示;如果查询到,说明账号存在。对比前端传入的密码和数据库中查询到的加密密码。前端传入的密码需要进行加密后再与数据库中的密码进行比对。如果比对失败,返回密码错误的提示;如果比对成功,表示登录成功。
登录成功后,用户微服务生成一个用于标识用户身份的 Token,并将其返回给前端。前端保存 Token,在后续访问时携带 Token。后端需要编写一个拦截器来校验 Token。
最后,后端拦截器对请求进行校验,验证 Token 的有效性。
如果校验通过,允许请求继续访问;如果校验失败,返回校验失败的提示,禁止访问。
以上就是我在项目中用户登录和校验的详细流程。
1-4 说一下文章发布的流程
文章的发布流程涉及媒资微服务和文章微服务之间的协作,以下是发布流程的详细步骤:
首先用户在浏览器中发起文章发布请求,请求通过Nginx反向代理到达网关微服务。网关微服务将请求发送给媒资微服务。
然后媒资微服务接收文章信息,并保存数据到数据库,同时将审核状态设置为待审核。
之后媒资微服务调用第三方云服务进行内容审核,包括对文章标题、内容和图片的审核。如果审核失败,根据第三方服务的审核提示,将失败原因保存到数据库。
最后如果审核通过,媒资微服务使用Feign调用文章微服务。文章微服务接收到请求后,进行文章的新增或修改,并返回文章ID到媒资微服务。
以上是文章发布的流程。