小白进公司快速熟悉环境和代码的方法

1.企业开发模式

        企业开发模式里,我们的项目模块可能非常多此时我们是不能将所有模块都拉取到本地的,主要原因如下:

  • 我们很可能并没有全部工程代码的权限

  • 微服务集群部署非常复杂,本地部署成本太高

  • 微服务模块众多,本地计算机性能难以支持,无法做到水平复制

        因此在开发中,我们往往是将需要自己负责开发的模块拉取到本地,不是自己负责的部分依旧远程运行,然后远程和本机配合运行 。

        下面这张图,首先浏览器发送请求/wg/a ---> Nginx(反向代理将请求转发到网关) --> 网关(请求转发到Nacos拿到对应微服务地址) --> Nacos(地址返回给网关)-->网关(请求转发)-->对应的微服务

 

2.虚拟机导入 

  虚拟机中部署了我们开发过程中常用的软件

  • Git私服(gogs):代码全部提交带了自己的 Git 私服,模拟企业开发的代码管理,大家也需要自行到私服拉取代码

  • jenkins:持续集成,目前已经添加了所有部署脚本和 Git 钩子,代码推送会自动编译,可以根据需求手动部署

  • nacos:服务注册中心、统一配置管理,大多数共享的配置都已经交给 nacos 处理

  • seata:分布式事务管理

  • xxl-job:分布式任务系统

  • es:索引库

  • redis:缓存库

  • mysql:数据库

  • kibana:es控制台

3.配置本机hosts

     在公司中我们一般都是通过域名访问,需要在本地配置 hosts文件位置:

                C:\Windows\System32\drivers\etc\hosts 

需要管理员权限!!(粘贴在文件中)

192.168.150.101 git.tianji.com
192.168.150.101 jenkins.tianji.com
192.168.150.101 mq.tianji.com
192.168.150.101 nacos.tianji.com
192.168.150.101 xxljob.tianji.com
192.168.150.101 es.tianji.com
192.168.150.101 api.tianji.com
192.168.150.101 www.tianji.com
192.168.150.101 manage.tianji.com

4.在浏览器地址栏中输入网站会发送什么 

        浏览器输入www.nacos.tianji.com浏览器会找到hosts文件,文件里有域名能对上,(拿到后面的本机地址)就到虚拟机里找到Nginx(http默认端口80,Nginx端口也是80),在Nginx.conf配置文件里面通过server_name对应名字-->proxy_pass 找到对应的软件

在Linux里找软件命令: find / -name nginx 

 

 

5.部署代码

5.1虚拟机部署

        Gogs:代码托管

        Jenkins:编译和部署

        项目基于Jenkins 实现了持续集成,每当我们 push 代码时,就会触发项目完成自动编译和打包。而需要运行某个微服务时,我们只需要经过两步:

                                1.访问 jenkins 控制台

                                2.点击对应微服务后面的运行按钮

                        

        此时访问 Nacos 控制台,可以看到微服务都成功注册了:  

5.2部署过程

点击会到gogs拉取代码(tj-gateway),将代码做成镜像,将镜像运行成容器

 5.3本地部署

        对于需要开发功能的微服务,则需要在本地部署,不过首先我们要把代码拉取下来(git)

 

        将代码克隆到 IDEA 工作空间中  

 

注意切换分支!!! 

master:主分支,对外发布版本

dev(lesson-init):开发分支, 所有程序员共用分支

feature-0627-bug:每个功能写一个

在默认情况下,微服务启用的是 dev 配置,如果要在本地运行,需要设置 profile 为 local:  

 

        可以在本地启动 TradeApplication,然后我们去 Nacos 控制台查看 trade-service,可以看到有两个实例,分别是虚拟机 IP 和宿主机 IP:  

 请求过来负载均衡,就有可能分配到虚拟机的!!! 

 此时只需要将远程主机中的实例停止就可以了  

 

6.熟悉项目 

        进公司领导让看文档是考察你的第一步,一定要留痕,比如说把项目的流程看通了,直到请求是从浏览器转发的,到哪个网关,网关到哪个微服务,找一个功能看明白就可以比如说登录业务,写清楚,然后分析项目结构.

        熟悉项目的第一步是熟悉项目的结构、用到的技术、编码的一些规范等。

 项目结构

        (1).当我们要创建新的微服务时,也必须以 tjxt 为父工程,创建一个子 module. 例如交易微服务

        (2).微服务 module 中如果有对外暴露的 Feign 接口,需要定义到 tj-api 模块中:  

实体类规范

  • DTO:数据传输对象,在客户端与服务端间传递数据,例如微服务之间的请求参数和返回值、前端提交的表单

  • PO:持久层对象,与数据库表一一对应,作为查询数据库时的返回值

  • VO:视图对象,返回给前端用于封装页面展示的数据

  • QUERY:查询对象,一般是用于封装复杂查询条件

异常处理

         在项目运行过程中,或者业务代码流程中,可能会出现各种类型异常,为了加以区分,我们定义了一些自定义异常对应不同场景  

                 

配置文件

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/344098.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3用elementplus table渲染二维码使用方法

TOC 在Vue3中实现二维码生成需要使用第三方库来处理生成二维码的逻辑,常用的库有 qrcode和 vue-qrcode,这篇文章主要介绍了在Vue3中使用vue-qrcode库实现二维码生成,需要的朋友可以参考下 本文主要介绍在Vue3中使用qrcode库实现二维码生成的方法。 在Vue3中实现二维码生成需…

酚醛胶面建筑模板 — 广西厂家直销,质保可靠

在现代建筑行业中,选择高质量的建筑板材对于确保施工质量和工程安全至关重要。广西厂家直销的酚醛胶面建筑板,以其卓越的质量和可靠的质保,成为了建筑行业的优选材料。 产品特性 卓越的耐候性:我们的酚醛胶面建筑板采用高品质酚醛…

C++力扣题目106,105--中序和后序,前序和中序遍历构造二叉树

106.从中序与后序遍历序列构造二叉树 力扣题目链接(opens new window) 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder [9,3,15,20,7]后序遍历 postorder [9,15,7,20,3] 返回如下的二叉树&am…

计算机缺失msvcp140.dll的修复教程,教你快速解决dll问题

“针对计算机系统中出现的msvcp140.dll文件丢失问题,小编将详细阐述一系列有效的解决方法。首先,msvcp140.dll是Microsoft Visual C Redistributable Package中的一个关键动态链接库文件,对于许多应用程序的正常运行至关重要。当系统提示该文…

Minitab的单因子方差分析的结果

单因子方差分析概述 当有一个类别因子和一个连续响应并且想要确定两个或多个组的总体均值是否存在差异时,可使用 单因子方差分析。如果经检验,发现至少有一组存在差异,请使用单因子方差分析中的比较对话框来标识存在显著差异的组对。 例如&…

Win10安装配置Redis,修改密码

一、下载Redis tporadowski 提供了 支持 Windows平台的 Redis 安装包,目前仍在维护,目前最新版本是 5.0.14,更新速度跟Redis官网也相差好几个大版本。 下载地址:https://github.com/tporadowski/redis/releases 二、Redis 安装 …

MATLAB - 卫星自旋的模型参考自适应控制(MRAC)

系列文章目录 前言 本例展示了如何使用模型参考自适应控制 (MRAC) 控制卫星自旋,使未知控制系统与理想参考模型相匹配。卫星系统在 Simulink 中建模,MRAC 控制器使用 Simulink Control Design™ 软件提供的模型参考自适应控制模块实现。 一、卫星旋转控…

CCF模拟题 202309-2 坐标变换(其二)

问题描述 试题编号: 202309-2 试题名称: 坐标变换(其二) 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 对于平面直角坐标系上的坐标 (x,y),小 P 定义了如下两…

仓储|仓库管理水墨屏RFID电子标签2.4G基站CK-RTLS0501G功能说明与安装方式

随着全球智能制造进度的推进以及物流智能化管理水平的升级,行业亟需一种既能实现RFID批量读取、又能替代纸质标签在循环作业、供应链管理以及实现动态条码标签显示的产品。在此种行业需求背景下,我是适时推出了基于墨水屏显示技术的VT系列可视化超高频标…

Office Tool Plus v10.6.2.0绿色版

软件介绍 Office Tool Plus(简称OTP)是一款微软Office办公软件下载、安装、管理的辅助增强工具。它可以快速自定义部署,在线下载安装 Office 的各个版本,也可以通过已有的离线安装文件来部署Office镜像,同时在安装过程…

百家大吉·夕阳关爱——昌岗街微型养老博览会

居民热情参与博览会 为让长者了解及选择适合自己的养老服务,昌岗街在2023年12月27日开展以“百家大吉夕阳关爱”为主题的昌岗街微型养老服务公益博览会活动,通过搭建养老服务机构供需服务平台,拓宽社区长者了解正规养老服务机构的渠道&#…

Java中的栈和队列操作,相互实现(力扣 232, 225)

栈和队列(Java) Java中的 栈 & 队列 操作栈的使用队列的使用 LeetCode 232. 用栈实现队列我的代码 LeetCode 225. 用队列实现栈我的代码 Java中的 栈 & 队列 操作 栈的使用 栈的方法功能Stack()构造一个空的栈E push(E e)将e入栈,并…