Spring Cloud环境搭建

news2024/9/24 17:15:26

  • 🎥 个人主页:Dikz12
  • 🔥个人专栏:Spring学习之路
  • 📕格言:吾愚多不敏,而愿加学
  • 欢迎大家👍点赞✍评论⭐收藏

目录

1. 开发环境安装

1.1 安装JDK 

​1.2 安装MySQL

2. 案列介绍

2.1 需求

2.2 服务拆分


1. 开发环境安装

1.1 安装JDK 

⽬前⻓期维护的版本有: JDK8,JDK11,JDK17,JDK21。在JDK版本的选择上,尽量选择⻓期维护的版本.这里使用的是JDK17.

为什么使用JDK17 ?

Spring Cloud是基于Spring Boot进⾏开发的,SpringBoot3.X以下的版本,Spring官⽅已不再进⾏维护(还可以继续使⽤),Spring Boot3.X的版本,使⽤的JDK版本基线为JDK17.鉴于JDK21是2023.09⽉发布的,很多功能还没有在⽣产环境验证。
Windows环境

下载JDK:Java Downloads | Oracle 

 下载完成后,双击运行.exe文件,选择自己的安装目录,一路next就行了。

配置环境变量

 1. 配置JAVA_HOME

变量名变量值
JAVA_HOMED:\ProgramFiles\Java\jdk-17

 

2.在Path中添加 JAVA_HOME 的值

在系统环境变量中找到Path,点击编辑->新建,加上变量值 %JAVA_HOME%\bin

3.验证.

在cmd中输⼊ java -version ,确认JDK是否安装和配置成功.

 LInux环境(Ubuntu 20.4) 

1.更新软件包

sudo apt update

2.安装JDK命令

sudo apt install openjdk-17-jdk

 1.2 安装MySQL

 Ubuntu 20.4

1. 查找安装包

apt list |grep "mysql-server"

2.安装mysql

sudo apt install mysql-server

3. 查看mysql状态

sudo systemctl status mysql


 4. 连接mysql服务器

sudo mysql

5. 使⽤alter user 命令修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY
'******';

2. 案列介绍

2.1 需求

一个电商平台包含的内容⾮常多,以京东为例,仅从⾸⻚上就可以看到巨多的功能.


如果把这些功能全部写在⼀个服务⾥,这个服务将是巨⼤的.
巨多的会员,巨⼤的流量,微服务架构是最好的选择.
微服务应⽤开发的第⼀步,就是服务拆分.拆分后才能进⾏"各⾃开发".

2.2 服务拆分

拆分微服务—般遵循如下原则:

1. 单一职责原则.

 单⼀职责原则原本是⾯向对象设计中的⼀个基本原则,它指的是⼀个类应该专注于单⼀功能。不要存在多于⼀个导致类变更的原因。⼀个微服务也应该只负责⼀个功能或业务领域,每个服务应该有清晰的定义和边界,只关注⾃⼰的特定业务领域.
2.服务自治

服务⾃治是指每个微服务都应该具备⾼度⾃治的能⼒,即每个服务要能做到独⽴开发,独⽴测试,独⽴构建,独⽴部署,独⽴运⾏.
以上⾯的电商系统为例,每⼀个微服务应该有⾃⼰的存储,配置,在进⾏开发,构建,部署,运⾏和测试时,并不需要过多关注其他微服务的状态和数据。

 3. 单向依赖 

微服务之间需要做到单向依赖,严禁循环依赖,双向依赖
循环依赖:A-> B -> C -> A
双向依赖:A-> B,B -> A

如果⼀些场景确实⽆法避免循环依赖或者双向依赖,就会考虑使⽤消息队列等其他⽅式来实现 

微服务架构并⽆标准架构,合适的就是最好的,不然架构师⼤会也不会各个系统架构百花⻬放了.

在架构设计的过程中,坚持"合适优于业界领先",避免"过度设计"(为了设计⽽设计).

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

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

相关文章

Linux 命令 —— top命令(查看进程资源占用)

文章目录 top 命令显示信息介绍top 命令使用 top 命令显示信息介绍 top 命令是 Linux/Unix 系统中常用的进程监控工具,可以实时动态显示系统中各个进程的资源占用情况,包括CPU、内存等。 进入 linux 系统,直接输入 top,回车&…

全网超详细Redis主从部署(附出现bug原因)

主从部署 整体架构图 需要再建两个CentOs7,过程重复单机部署 http://t.csdnimg.cn/zkpBE http://t.csdnimg.cn/lUU5gLinux环境下配置redis 查看自己ip地址命令 ifconfig 192.168.187.137 进入redis所在目录 cd /opt/software/redis cd redis-stable 进入配置文件 vim redi…

书生大模型第三关-Git基础

1.任务1: 破冰活动:自我介绍 目标: 每位参与者提交一份自我介绍。 提交地址:https://github.com/InternLM/Tutorial 的 camp3 分支~ 行动: 首先Fork项目到自己Repo中,然后git clone在本地上 然后创建一个…

liunx面试题目

如何看当前Linux系统有几颗物理CPU和每颗CPU的核数? 查看物理cup: cat /proc/cpuinfo|grep -c ‘physical id’ 查看每颗cup核数 cat /proc/cpuinfo|grep -c ‘processor’ 若希望自动实现软件包的更新,可以使用yum-cron并启动该服务 yum -y …

【java计算机毕设】农产品仓库管理系统系统MySQL ssm JSP maven项目代码+文档 前后端一体 暑假作业

目录 1项目功能 2项目介绍 3项目地址 1项目功能 【java计算机毕设】农产品仓库管理系统系统MySQL ssm vue maven项目代码文档 前后端一体 暑假作业 2项目介绍 系统功能: 农产品仓库管理包括管理员、用户俩种角色。 管理员功能包括个人中心模块用于修改个人信息和…

60K起?“软件安全岗”比“网络安全岗”薪资高在哪里?

在网络世界的江湖中,“软件安全”与“网络安全”这两大“武林高手”都肩负着守护数字领域和平的重任。不过,眼尖的小伙伴们可能发现了,软件安全岗位的薪资待遇往往比网络安全岗位要丰厚那么一些,这到底是为啥呢?今天&a…

【AI绘画教程】Stable Diffusion 1.5 vs 2

在本文中,我们将总结稳定扩散 1 与稳定扩散 2 辩论中的所有要点。我们将在第一部分中查看这些差异存在的实际原因,但如果您想直接了解实际差异,您可以跳下否定提示部分。让我们开始吧! Stable Diffusion 2.1 发布与1.5相比,2.1旨在解决2.0的许多相对缺点。本文的内容与理解…

数字化转型“破局”:低代码开发平台如何缩短开发交付周期,提升效率

日新月异的数字时代,各行业正经历着前所未有的变革与转型。随着大数据、云计算、人工智能等技术的不断成熟与融合,数字化转型的步伐愈发坚定而迅速,成为企业转型升级、实现可持续发展的必由之路。然而,传统的软件开发模式受限于高…

35.UART(通用异步收发传输器)-RS232(2)

(1)RS232接收模块visio框图: (2)接收模块Verilog代码编写: /* 常见波特率: 4800、9600、14400、115200 在系统时钟为50MHz时,对应计数为: (1/4800) * 10^9 /20 -1 10416 …

如何防止漏洞攻击

随着信息技术的日新月异,企业在日常运营中对网络和数字化系统的依赖日益加深。然而,这种高度依赖也伴随着网络安全威胁的急剧增长,对企业的核心资产与数据构成了严峻挑战。为了有效捍卫企业利益,确保运营无忧,积极构建…

Monaco 使用 DocumentHighlightProvider

Monaco 中有一个文字高亮的功能,就是选中一个单词,会高亮文字文档中所有出现该单词的位置,效果如下: Monaco 默认就有这个功能,可以根据具体需求进行定制。通过 registerDocumentHighlightProvider 进行注册 实现 pro…

无人机之图传距离的决定因素

一、发射功率:图传设备的发射功率越大,信号能够传播的距离就越远 二、工作频段:不同频段具有不同的传播特性,一些频段在相同条件下可能具有更远的传输距离。 三、天线性能:优质的天线可以增强信号的发送和接收能力&a…

9.11和9.9哪个数更大?所有模型测试

目录 通义千问2.5 通义千问2_0.5b kimi 智谱清言 ​编辑讯飞星火 秘塔搜索 文言一心 豆包 腾讯元宝 海螺AI ChatGPT 3.5 Gemini 1.0 通义千问72B Claude-3 天工AI 参赛选手:讯飞星火、文言一心、腾讯元宝、海螺AI、通义千问72B、天工AI、 通义千问2…

实验七:图像的复原处理

一、实验目的 熟悉常见的噪声及其概率密度函数。熟悉在实际应用中比较重要的图像复原技术,会对退化图像进行复原处理。二、实验原理 1. 图像复原技术,说简单点,同图像增强那样,是为了以某种预定义的方式来改进图像。在具体操作过程中用流程图表示,其过程就如下面所示: 2…

git查看历史记录方法

0 Preface/Foreword 1 git reflog git reflog显示所有的操作,不仅仅是commit,也包括git pull,checout等动作。 1.1 查看本地和远程仓库的区别 远程仓库:中间的提交是直接在web端编辑 远程仓库:最新的提交是在本地编…

在golang中Sprintf和Printf 的区别

最近一直在学习golang这个编程语言,我们这里做一个笔记就是 Sprintf和Printf 的区别 fmt.Sprintf 根据格式化参数生成格式化的字符串并返回该字符串。 fmt.Printf 根据格式化参数生成格式化的字符串并写入标准输出。由上面就可以知道,fmt.Sprintf返回的…

爬虫(二)——爬虫的伪装

前言 本文是爬虫系列的第二篇文章,主要讲解关于爬虫的简单伪装,以及如何爬取B站的视频。建议先看完上一篇文章,再来看这一篇文章。要注意的是,本文介绍的方法只能爬取免费视频,会员视频是无法爬取的哦。 爬虫的伪装 …

leetcode-三数之和

视频:https://www.bilibili.com/video/BV1bP411c7oJ/?spm_id_from333.788&vd_sourcedd84879fcf1be72f360461b01ecab0d6 从两数之和开始,排序后的两数之和,利用好升序的性质,可以将时间复杂度从on2降到on; class Solution …

MongoDB常用命令大全,概述、备份恢复

文章目录 一、MongoDB简介二、服务启动停止、连接三、数据库相关四、集合操作五、文档操作六、数据备份与恢复/导入导出数据6.1 mongodump备份数据库6.2 mongorestore还原数据库6.3 mongoexport导出表 或 表中部分字段6.4 mongoimport导入表 或 表中部分字段 七、其他常用命令八…

Qt 4.8.7 + MSVC 中文乱码问题深入分析

此问题很常见,然而网上关于此问题的分析大多不够深刻,甚至有错误;加之Qt5又更改了一些编码策略,而很多文章并未提及版本问题,或是就算提了,读者也不重视。这些因素很容易让读者产生误导。今日我彻底研究透了…