Spring Cloud环境搭建

  • 🎥 个人主页: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://xiahunao.cn/news/3246469.html

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

相关文章

【顺序表】算法题 --- 力扣

一、移除元素 移除元素 这个题让我们移除数组nums中值为val的元素,最后返回k(不是val的元素个数) 这样显然我们就不能再创建一个数组来解决这个问题了,只能另辟蹊径 思路:双指针 这里定义两个指针(l1&…

解决Ubuntu 20.04下外接显示屏无信号问题【多次尝试无坑完整版!!!】

解决Ubuntu 20.04下外接显示屏无信号问题【多次尝试无坑完整版!!!】 一、引言 作为一名开发者,我经常在Windows和Ubuntu之间切换,以满足不同的开发需求。最近,我在使用惠普暗影精灵9(搭载RTX 4…

算法力扣刷题记录 四十九【112. 路径总和】和【113. 路径总和ii】

前言 二叉树篇继续。 记录 四十九【112. 路径总和】和【113. 路径总和ii】 一、【112. 路径总和】题目阅读 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 target…

框架设计MVC

重点: 1.用户通过界面操作,传输到control,control可以直接去处理View,或者通过模型处理业务逻辑,然后将数据传输给view。 2.control包含了model和view成员。 链接: MVC框架详解_mvc架构-CSDN博客 MVC架…

vue 给特定满足条件的表单数据添加背景颜色,组件的 row-class-name

1、:row-class-name"tableRowClassName" 可为表格每行根据后面的函数绑定class名 <!-- 列表框 --><div class"tableList"><el-table :data"teamModelListTable" style"width: 100%"selection-change"handleSele…

【Sklearn-驯化】一文搞懂sklearn中特征平滑之-贝叶斯平滑策略使用技巧

【Sklearn-驯化】一文搞懂sklearn中特征平滑之-贝叶斯平滑策略使用技巧 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容…

C++ std::lock_guard和 std::unique_lock

二者都是 C 标准库中用于管理互斥锁&#xff08;mutex&#xff09;的 RAII&#xff08;Resource Acquisition Is Initialization&#xff09;机制的类。这些类可以确保互斥锁在构造时被获取&#xff0c;在析构时被释放&#xff0c;从而避免死锁和资源泄漏问题。不过&#xff0c…

在SpringCloud中如何轻松实现微服务间的通信

在Spring Cloud中&#xff0c;实现微服务间的通信非常简单。Spring Cloud提供了多种方式来进行微服务之间的通信&#xff0c;包括使用RestTemplate、Feign、Ribbon、Eureka等组件。下面我将详细介绍这些方式的使用方法。 使用RestTemplate进行通信&#xff1a; RestTemplate是S…

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

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

[笔记]Fluke3563 振动分析仪

参考文档&#xff1a;Fluke 3563 Analysis Vibration Sensor system | Fluke 1.四大机械故障损伤原因 2.振动特征 福禄克做的示意图很棒&#xff1a; 不平衡对应转动轴的一倍频&#xff0c;不对中是2倍频&#xff0c;然后3~6倍频会有未紧固故障&#xff0c;更高频的位置是齿轮…

全栈 Discord 克隆:Next.js 13、React、Socket.io、Prisma、Tailwind、MySQL笔记(一)

前言 阅读本文你需要有 Next.js 基础 React 基础 Prisma 基础 tailwind 基础 MySql基础 准备工作 打开网站 https://ui.shadcn.com/docs 这不是一个组件库。它是可重用组件的集合&#xff0c;您可以将其复制并粘贴到应用中。 打开installation 选择Next.js 也就是此页面…

JRebelXRebel在线激活(亲测可用)

包含所有新旧版本&#xff0c;包括2023.4.2、2023.4.1、2023.4.0、2023.3.2、2023.3.1、2023.3.0、2023.2.2、2023.2.1、2023.2.0、2023.1.2、2023.1.1 等以及所有2022版本 JRebel&XRebel激活服务器地址 激活服务器地址&#xff08;路线1,推荐&#xff09;&#xff0c;可…

鸿蒙语言基础类库:【@system.geolocation (地理位置)】

地理位置 说明&#xff1a; 从API Version 7 开始&#xff0c;该接口不再维护&#xff0c;推荐使用新接口[ohos.geolocation]。本模块首批接口从API version 3开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import geolocation from …

快慢指针的应用(题目来源力扣oj训练)

快慢指针 快慢指针一般用来找到链表的中间节点&#xff0c;就是直接搞两个指针&#xff0c;快指针的移动是慢指针的两倍&#xff0c;那么为什么快慢指针可以找到中间节点&#xff0c;因为假设一个为n的链表&#xff0c;快指针走完慢指针也就是n/2。 具体案例 找链表的中间节…

如何使用在线工具将手机相册中的图片转换为JPG格式

我们经常在手机相册中保存大量的图片&#xff0c;无论是家庭聚会的照片还是旅行的瞬间&#xff0c;每一幅图像都承载着珍贵的记忆。然而&#xff0c;有时候我们会遇到图片格式不兼容的问题&#xff0c;尤其是在需要将图片分享到特定平台或编辑时。 例如&#xff0c;某些社交平台…

2024年充电宝推荐!哪个牌子充电宝好?充电宝选购大全!

大家在选购充电宝的时候是否有注意要选择一款安全性高的充电宝呢&#xff1f;是选择好看的充电宝还是选择性价比高的呢&#xff1f;充电宝的安全问题不容忽视&#xff0c;其中最令人担忧的便是爆炸风险。那么到底哪些充电宝是比较适合我们日常使用的呢&#xff1f;毕竟现在在当…

计网ip层重要面经总结

文章目录 127.0.0.1, localhost, 0.0.0.0有什么不同?ipv6还需要NAT吗&#xff1f;DNS查询服务器的基本流程浏览器输入一个URL到显示器显示的过程PING是怎么工作的&#xff1f;ipv4和ipv6究竟有哪些区别&#xff1f;什么是跨域&#xff0c;什么情况下会发生跨域问题&#xff1f…

WINUI或WPF灵活使用样式、控件模板、自定义控件、用户控件

在WINUI与WPF 中&#xff0c;控件模板&#xff08;ControlTemplate&#xff09;、样式&#xff08;Style&#xff09;、自定义控件&#xff08;CustomControl&#xff09;和用户控件&#xff08;UserControl&#xff09;都是构建复杂和灵活用户界面的重要工具&#xff0c;但它们…

使用gradio部署微调后的模型

文章目录 概要整体架构流程技术细节小结 概要 使用gradio部署微调后的模型 整体架构流程 gradio前期学习&#xff0c;以下是一些常见的输入输出组件&#xff0c;有些即可输入也可输出 gr.Audio(sources[microphone, upload], # 音频输入sources&#xff0c;支持录制或者上传…

【自撰写】【国际象棋入门】第11课 对局实例分析(一)

第11课 对局实例分析&#xff08;一&#xff09; 本次课中&#xff0c;我们来分析一例真实的对局。对局弈于“国象联盟”APP&#xff0c;日期为2024年6月13日星期四&#xff0c;我执黑。开局伊始&#xff0c;白方的布局略占优势&#xff0c;中局阶段黑方一直保持着微弱的领先&…