天机学堂—项目总览和基建

news2025/2/28 2:43:04

总览

天机学堂是一个基于微服务架构的生产级在线教育项目。

项目亮点

技术架构

环境搭建

为了模拟真实开发环境,我们准备了一台虚拟机,在其中安装了各种各样的公共服务和组件。

Jenkins 是一个开源的持续集成(Continuous Integration)工具,用于自动化构建、测试和部署软件项目。工作流程如下:
 

  • 开发人员将代码提交到版本控制系统(如 Git)中。
  • Jenkins 定期轮询版本控制系统,或者通过 Webhook 监听代码变更。
  • 当检测到代码变更时,Jenkins 根据配置的触发条件启动相应的任务。
  • 任务执行构建步骤,例如编译代码、运行测试。
  • 构建完成后,Jenkins 可以生成构建报告、通知相关人员,并将构建产物部署到指定环境。

在虚拟机中基于Jenkins实现了持续集成后, 即可查看控制台:

接下来我导入了vm文件,并且改了VMware的虚拟网卡跟虚拟机静态ip同网段,查看docker发现东西应有尽有:

虚拟机启动后访问Jenkins,微服务面板一目了然:

代码拉取

启动虚拟机后运行了git私服,输入下面的命令得到代码:

git clone http://192.168.150.101:10880/tjxt/tianji.git -b lesson-init
 

打开发现运行时配置如下:

进一步分析项目结构:

实体类规范:

    1. DTO:数据传输对象,在客户端与服务端间传递数据,例如微服务之间的请求参数和返回值、前端提交的表单
    2. PO:持久层对象,与数据库表一一对应,作为查询数据库时的返回值
    3. VO:视图对象,返回给前端用于封装页面展示的数据
    4. QUERY:查询对象,一般是用于封装复杂查询条件

配置文件:

除了基本配置以外,其它的配置都放在了Nacos中共享,包括两大类:

  1. 共享的配置
  2. 微服务中可能会根据业务变化的配置

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【opencv】信用卡号识别实验

实验环境:anaconda、jupyter notebook(其它的ide也行) 实验用的包:numpy、matplotlib、opencv 实验目标: 识别信用卡的卡号 信用卡图片: 数字模板图片: 一、包引入 import cv2 import matplo…

02-WPF_基础(一)

1、基础 各模块类型 链接:如何:向 Viewbox 的内容应用 Stretch 属性 - WPF .NET Framework | Microsoft Learn WPF基础以及事件绑定与数据绑定的情况,,在学习XAML,数据结构以及一个项目学习平台来练手,网络…

windows10安装WSL2及使用

1、安装 安装步骤见官网:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual 2、调整WSL占用内存和空间 装完WSL后,查看任务管理器时发现vmmem进程占用内存过高。WSL内存默认值是电脑内存的一半,CPU默认值是电脑处理器个数&am…

vue3 中 使用 antd中的select 组件的带搜索框 展开后可对选项进行筛选搜索功能

鼠标进入以后下拉显示&#xff1a; 输入字符串以后&#xff1a; 可以看出对数据进行了筛选。 具体代码&#xff1a; 结构上&#xff1a;<a-selectv-model:value"formState.formFlow"show-searchallowClearplaceholder"输入选择流程":options"op…

生产透明化,交付无烦恼

生产进度总延误 质量把控总失守 计划赶不上变化 沟通不畅易误解 ...... 这些问题可能在一些工厂管理中几乎每天都在上演。 在如今快速变化的市场环境中&#xff0c;企业的生产效率和交付能力成为了衡量其竞争力的关键指标。而要实现高效、准确的生产和交付&#xff0c;透明化的…

无人机的用途

无人机&#xff0c;即无人驾驶飞机&#xff0c;其用途广泛且多样&#xff0c;涉及到多个领域。 在农业领域&#xff0c;无人机通过搭载各种传感器和相机&#xff0c;可以对农田进行空中巡视&#xff0c;收集农田数据&#xff0c;如土壤含水量、气温、湿度等&#xff0c;以及植…

《一》Word文字编辑软件---架构设计分析

1&#xff0c;简单介绍 今天&#xff0c;我们来模拟offic软件中的word文档&#xff0c;运行如图&#xff1a; 运行程序后会出现主界面&#xff0c;顶端的菜单栏包括“文件”“编辑”“格式”“窗口”和“帮助五个主菜单。 菜单栏下面是工具栏&#xff0c;包含了系统常用的功能按…

【2024】最新开源版 酒店预约小程序源码 酒店管理系统源码

源码简介&#xff1a; 随着移动互联网的快速发展&#xff0c;酒店行业也逐渐步入数字化、智能化的新时代。通过引入酒店预约小程序和酒店管理系统&#xff0c;酒店可以实现线上线下无缝对接&#xff0c;提高客户体验和服务质量。 分享一款【2024】最新酒店预约小程序源码、酒…

MyBatis缓存的概念

缓存回顾 什么是缓存&#xff1f; 缓存就是内存中的数据&#xff0c;常常来自对数据库查询结果的保存。使用缓存可以避免频繁与数据库交互&#xff0c;进而提高 响应速度 。 MyBatis 对缓存的支持 MyBatis 也提供了对缓存的支持&#xff0c;分为 一级缓存 和 二级缓存。可以…

ubuntu安装vim

安装vim 命令&#xff1a; apt istall vim

传感数据分析——加速度、速度与位移

传感数据分析——加速度、速度与位移 在许多科学和工程应用中&#xff0c;传感器数据的分析是一项至关重要的任务。特别是在运动、运输、结构监测等领域&#xff0c;传感器能够提供有关物体运动和变形的宝贵信息。本文将介绍如何利用Python进行传感器数据分析&#xff0c;重点…

免费申请HTTPS证书的几种方法

SSL证书&#xff08;Secure Sockets Layer Certificate&#xff09;是数字证书的一种&#xff0c;类似于驾驶证、护照和营业执照的电子副本。它是由受信任的数字证书颁发机构&#xff08;CA&#xff09;在验证服务器身份后颁发的&#xff0c;用于确保网络通信的安全性和加密性。…

前端面试:项目细节|项目重难点|已工作|做分享

面试官提问&#xff1a;分享一个项目中记忆比较深刻的需求&#xff1f;说说你是怎么解决的&#xff1f;解决过程有没有遇到什么困难&#xff1f; 答&#xff1a;我的回答&#xff08;我分点写思路&#xff0c;便于大家观看&#xff09;&#xff1a; &#xff08;1&#xff09…

如何实现数字化校园的高效运维

随着科技开展&#xff0c;国家大力支持各级各类学校建造数字化学校&#xff0c;综合利用互联网、大数据、人工智能和虚拟现实技能探究未来教育教育新模式。因为数字化学校的快速开展&#xff0c;学校网内设备类型很多&#xff0c;网络拓扑杂乱&#xff0c;信息运用繁复。各部门…

如何实现短链接跳转到微信小程序?怎么保证永久有效?

家人们&#xff0c;在如今这互联网高度发达的时代&#xff0c;流量那可真是生命线啊&#xff01;那每个运营者都得面对的一个关键问题就是&#xff1a;咋有效地进行引流。今儿个&#xff0c;咱就好好唠唠咋实现短链接跳转到微信小程序&#xff0c;还有咋保证小程序短链接能永久…

Linux(多线程)

//blockQueue.hpp #pragma once #include <iostream> #include <queue> #include <pthread.h> const int gcap 5; template <class T> class BlockQueue { public:BlockQueue(const int cap gcap):_cap(cap)//初始化阻塞队列的容量{pthread_mutex_in…

新一代GPT!GPT-4O:更快、更懂人类情感的人工智能新纪元

今天凌晨&#xff08;5.14凌晨&#xff09;&#xff0c;OpenAI 的 GPT-4O 版本在自然语言处理领域带来了革命性的改变。不仅在处理速度上获得了显著提升&#xff0c;GPT-4O 还增加了对人类情感的理解能力&#xff0c;这使得它在与人类的交互中更加自然和富有同理心。本文将深入…

相同的树LeetCode

100. 相同的树 - 力扣&#xff08;LeetCode100. 相同的树 - 力扣&#xff08; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 /*** Definition…

Python 运筹优化13 Thompson Sampling 解读

说明 这部分应该是Multi-Armed Bandit的最后一部分了。 内容 1 On Line Ads 这个实验&#xff0c;最初的目的就是为了选出最佳的广告。首先&#xff0c;通过伯努利分布&#xff0c;模拟了某个广告的有效率。在真实场景里&#xff0c;我们是无法知道那个广告更好的。可能在t…

css中用于设置光标颜色的属性

caret-color 是一个 CSS 属性&#xff0c;它用于定义输入光标&#xff08;caret&#xff09;的颜色。这里的“插入光标”&#xff08;insertion caret&#xff09;指的是在网页的可编辑器区域内&#xff0c;用来指示用户的输入具体会插入到哪里的那个一闪一闪的形似竖杠 | 的东…