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_HOME D:\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

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

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

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

相关推荐

  1. KAFKA环境

    2024-07-17 21:02:06       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 21:02:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 21:02:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 21:02:06       58 阅读
  4. Python语言-面向对象

    2024-07-17 21:02:06       69 阅读

热门阅读

  1. 蓝牙芯片智能秤解决方案

    2024-07-17 21:02:06       19 阅读
  2. 深度解析:《聚类算法研究》综述论文精粹

    2024-07-17 21:02:06       20 阅读
  3. 全网 最强 最全 Linux 命令总结

    2024-07-17 21:02:06       16 阅读
  4. E.Checksum(东北四省联赛ccpc)

    2024-07-17 21:02:06       22 阅读
  5. 神奇的东西+今天终于能画UML类图了

    2024-07-17 21:02:06       22 阅读
  6. python3 shutil排除特定或者模糊匹配文件或目录

    2024-07-17 21:02:06       18 阅读
  7. C语言-栈的实现

    2024-07-17 21:02:06       23 阅读
  8. 【工具使用】EMACS的verilog_mode脚本

    2024-07-17 21:02:06       21 阅读