SpringCloud微服务实战系列:01让SpringCloud项目在你机器上运行起来

目录

项目选型

项目安装-本地运行起来

软件安装:

项目启动:

总结&答疑


项目选型

软件开发,基本上都不会从0开始,一般都是在其他项目或者组件的基础上进行整合优化迭代,站在巨人肩膀上才能看得更远, 其实这条规则也适用于任何行业。

软件项目组件选型最好的地方就是公有git库 ,最出名是: GitHub · Build and ship software on a single, collaborative platform · GitHub    Gitee - 基于 Git 的代码托管和研发协作平台   国内的

找一个符合国人习惯的springcloud项目,通过搜索发现芋道spring boot 系列遥遥领先: 

选择springcloud 版本,关于SpringBoot和SpringCloud的关系请看我另外一篇文章: 

Spring、SpringBoot、SpringCloud关系是什么?你真的需要SpringCloud吗?-CSDN博客

项目安装-本地运行起来

芋道官网提供了比较详细的安装步骤,本章主要介绍我习惯使用的好的软件和安装过程中遇到的问题和解决方案。

搭建yudao-cloud 必须依赖的软件有:

IntelliJ IDEA java 集成开发环境,商业软件,非常好用,java程序员标配
mysql  server 8.2.0   和  yudao-cloud 源码里面sql文件版本一致,避免sql版本兼容问题产生麻烦
DBeaver sql客户单,基于jdbc连接,支持各种数据库,非常好用,开源软件
git 拉项目源码:  https://gitee.com/zhijiantianya/yudao-cloud  
redis  server缓存, yudao-cloud 必须依赖组件

AnotherRedisDesktopManager

开源redis 客户端
nacos-serveryudao-cloud 注册中心

软件安装:

1. IntelliJ IDEA    git   jdk17 安装步骤省略

需要下载两个项目: 

yuddao-cloud  java后端:      https://gitee.com/zhijiantianya/yudao-cloud    

yudao-demo  vue前端:    https://gitee.com/yudaocode/yudao-demo   

yuddao-cloud  导入到idea 后,切换到 master-jdk17分支,  springboot3  需要jdk17 

前端项目导入后, 我们直接用vue3的版本:

代码拉下来后,其实目录结构有点问题,不是maven的标准结构,IDEA导入后识别不了ElementPlusApplication.java ,解决办法:新建src目录, 把main拖到src里面去,点击右上角maven刷新按钮

2. mysql  server  安装注意事项:

版本: 8.2.0

为了避免yudao-cloud源码里面改一堆配置文件,端口,root密码和源码保持一致:

端口:3306

root 密码: 123456 

3. DBeaver 安装:安装完成后,创建一个mysql 连接

连接过程中如果出现 PublicKeyRetrieval 相关错误,将驱动属性这个值改成true .

4.DBeaver 连接成功后,建库:  ruoyi-vue-pro

5. DBeaver 里面执行sql, 建表: 

不要将sql粘贴到DBeaver 的Sql窗口执行,因为该文件是sqldump出来的,执行会报错。

你可以用DBeaver导入(DBeaver底层也是命令行,命令见第三张图红框内容),也可以直接用mysql 命令行导入:

5.  安装redis-server 和客户端: 

为了简单,我习惯docker 安装 redis-server
 

docker pull redis:7.2.6    docker run  -p 6379:6379  --name redis7   -d   redis:7.2.6  

AnotherRedisDesktopManager客户单 测试redis 是否安装成功: 

6.  安装nacos-server 单机版:

docker 安装, nacos-server 需要把多个端口映射出来。

docker pull nacos/nacos-server:2.0.2#注意这里要映射多个端口:
docker run --name nacos -e MODE=standalone -p 8848:8848  -p 9848:9848   -d nacos/nacos-server:2.0.2

你也可以选择本机安装, nacos-server也是spring-boot开发的

单机版启动的时候需要加参数  startup.cmd   -m standalone ,否则会报错

cd  D:\Program Files\nacos-server-2.4.3\nacos\bin.\startup.cmd -m standalone

安装完成登录并创建namespace 

http://127.0.0.1:8848/nacos/index.html#/login  用户名/密码:nacos/nacos

 

项目启动:

启动后端,只要启动gateway 和  system 这两个模块就可以看效果了。

启动后查看nacos注册中心数据(需要切换到dev namespace):

启动前端:

浏览器访问:

http://localhost:2048/

总结&答疑

1. 这是一个spring微服务项目吗?为什么微服务很多组件、概念这里没涉及? 

这是基于springcloud的微服务,最精简版, 只用了2个与微服务概念相关的服务治理组件,所有的微服务架构必须要有这2个组件。

gateway : 业务网关

nacos:  注册中心

2. yudao-demo 这个明显是java项目,为什么叫前端项目?

这里就是将前端源码编译后,直接放到springboot项目里,springboot内置了一个tomcat,这里整个 yudao-demo 项目就是个tomcat , 充当一个静态文件服务器角色 

前端nodejs+vue 技术栈也比较复杂,如果没写过vue的后端直接用vue源码编译,估计很费劲,原作者为了让后端开发快速上手就用了这么个变通方法,考虑的很周到。目前为了快速演示,先这么运行着,后面再讲vue前端源码。

3.项目架构和各组件调用关系: 

静态文件部分: 

浏览器 ---->  yudao-demo(tomcat+静态js 图片等文件)---> 静态文件返回给浏览器完成页面渲染

接口数据部分:

浏览器页面(js发起的ajax请求)---->gateway(统一转发到后端各个模块,借助nacos注册中心) -----> 后端各个业务模块(目前只启动了 system-server)  

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

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

相关文章

分布式全文检索引擎ElasticSearch-数据的写入存储底层原理

一、数据写入的核心流程 当向 ES 索引写入数据时,整体流程如下: 1、客户端发送写入请求 客户端向 ES 集群的任意节点(称为协调节点,Coordinating Node)发送一个写入请求,比如 index(插入或更…

【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程

文章目录 【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程前言一 、docker上部署mysql1. 拉取mysql镜像2. 创建容器3. 远程登录mysql 二 、docker上部署nginx1. 拉取nginx镜像2. 在dockerTar目录下 上传nginx.tar rz命令3. 创建nginx容器4…

第8章 搬移特性

8.1 搬移函数 模块化是优秀软件设计的核心所在,好的模块化能够让我在修改程序时只需理解程序的一小部分。为了设计出高度模块化的程序,我得保证互相关联的软件要素都能集中到一块,并确保块与块之间的联系易于查找、直观易懂。同时&#xff0c…

「九」HarmonyOS 5 端云一体化实战项目——「M.U.」应用云侧开发云数据库

1 立意背景 M. 代表 “我”,U. 代表 “你”,这是一款用于记录情侣从相识、相知、相恋、见家长、订婚直至结婚等各个阶段美好记忆留存的应用程序。它旨在为情侣们提供一个专属的空间,让他们能够将一路走来的点点滴滴,如初次相遇时…

【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. …

“从零到一:揭秘操作系统的奇妙世界”【操作系统的发展】

1.手工操作阶段 此时没有OS,用户采用人工操作方式进行。 方式:程序员在纸带机上打孔---计算机读取---结果输出到纸袋机上---程序员取走结果 缺点:耗时长,难度大、用户独占全机、人机速度矛盾导致资源利用率低 2.单批道处理系统 引…

Base64在线编码解码 - 加菲工具

Base64在线编码解码 - 加菲工具 打开网站 加菲工具 选择“Base64 在线编码解码” 或者直接打开https://www.orcc.online/tools/base64 输入需要编码/解码的内容,点击“编码”/“解码”按钮 编码: 解码: 复制已经编码/解码后的内容。

python 配置 oracle instant client

1.问题描述 想用python连接oracle数据库,百度得知需要cx_Oracle这个第三方库 import cx_Oracle# 设置Oracle数据源名称 dsn cx_Oracle.makedsn(host, port, service_nameservice_name)# 创建数据库连接 connection cx_Oracle.connect(userusername, passwordpas…

GCNet的简述

其中了解self-attention知道他的计算量是 Global Context Attention计算量变少从变成 NL: (a)首先resize成CHW然后通过11的卷积生成q,k,v,然后q乘 变成HWHW,然后通过softmax进行归一化然后和v进行乘,再通…

高斯混合模型及最大期望算法(EM)聚类

混合高斯分布(Gaussian Mixture Model,GMM)是一种概率模型,用于表示具有多个高斯分布的加权组合的数据集。它被广泛应用于模式识别、聚类分析和密度估计等领域。 定义 混合高斯分布由多个单变量或多变量高斯分布的线性组合组成。…

stable diffusion学习01

ai的效果 ai绘画能画什么呢?理论上只要是能画出来的都能画。 ai绘画能做到的程度 能够通过文字描述生成图片在基础图片上重新绘制或修改一张图片,但ai绘画无法做到给一张图片画出无数张这个物体或人物的图片。 ai绘画在拥有足够的素材进行训练…

【容器】k8s学习笔记原理详解(十万字超详细)

Pod详解 Pod介绍 Pod结构 每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类: 用户程序所在的容器,数量可多可少Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个: 可以以它为依据&am…

wazuh-modules-sca-scan

sca模块主函数wm_sca_main -> wm_sca_start 检查policy文件中的每一个项目wm_sca_check_policy static int wm_sca_check_policy(const cJSON * const policy, const cJSON * const checks, OSHash *global_check_list) {if(!policy) {return 1;}const cJSON * const id c…

图漾相机-ROS1_SDK_ubuntu版本编译(新版本)

文章目录 官网编译文档链接官网SDK下载链接1、下载 Camport ROS1 SDK1.下载git2、下载链接 2、准备编译工作1、安装 catkin2、配置环境变量3. 将Camport3中的linux库文件拷贝到 user/lib目录下4、修改lunch文件制定相机(可以放在最后可以参考在线文档)**…

基于单片机的智能窗帘(论文+源码)

1.系统设计 本课题智能窗帘系统的设计主要包括STM32单片机主控模块,光照检测模块,窗帘控制模块,键盘控制模块,显示模块和时钟模块等几个部分。总体设计框图如图2.1所示,其可以实现对当前光照强度的实时检测&#xff0…

召回系统介绍

一、以Lucene为例介绍召回系统 1、倒排检索 Lucene的倒排索引由 Term Index -> TermDictionary -> Posting List 三层组成,倒排检索实际上就是通过分词Term查询到倒排拉链,然后对所有拉链进行合并。 Term-> Posting List,可以直接…

Springboot实现自定义注解,接口返回自动增加字段

1、创建注解文件: package com.aiipc.dpm.api.annotation;import java.lang.annotation.*;Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) Documented public interface Echarts {/*** 单位* return*/String unit() default "";/*** 颜…

【云计算】OpenStack单节点allinone部署

OpenStack单节点all-in-one部署 工具准备环境搭建创建centos7虚拟机ssh连接 安装前的设置禁用防火墙禁用 NetworkManager服务启用 network 服务修改主机名以及映射时间同步 安装openstcak项目配置主机原网络配置修改网络配置使配置生效删除项目默认的路由和网络创建外网ext-net…

界面控件DevExpress v24.2.3全新发布——正式支持.NET 9

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。 屡获大奖的软件开发平台DevExpress 近期重要版本v24.2已正式发布,该版本拥有众多新…

Three.js资源-模型下载网站

在使用 Three.js 进行 3D 开发时,拥有丰富的模型资源库可以大大提升开发效率和作品质量。以下是一些推荐的 Three.js 模型下载网站,它们提供了各种类型的 3D 模型,适合不同项目需求。无论你是需要逼真的建筑模型,还是简单的几何体…