目录
分布式基础
架构演进-核心概念
单体架构(ALL IN ONE)
集群架构
分布式架构
新建一个spring项目
注册中心
Nacos安装与启动
服务注册
步骤一:在service-order的pom文件中导入依赖
步骤二:在前面的services已经引入公共依赖,这里不再引入。
步骤三:在resources下新建一个文件application.properties
步骤四:查看注册中心效果
步骤五:集群模式启动测试
分布式基础


架构演进-核心概念

单体架构(ALL IN ONE)
所有功能模块都在一个模块
1.项目打包
优点:开发和部署简单
缺点:无法应对高并发


集群架构
解决大并发
问题1.模块化升级
订单功能经常开发:v1.0 v2.0
问题2:多语言团队
c++直播模块
分布式架构
分布式:一个大型应用被拆分成很多小应用分布部署在各个机器
集群:物理形态(很多机器就叫集群)
新建一个spring项目
由于我的idea没有spring的选项,我是使用课程打包的代码。
1.打开项目,将idea和pom文件之外的文件删掉。
cloud-demo的pom配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.4</version>
<relativePath/> <!– lookup parent from repository –>
</parent>
<packaging>pom</packaging>
<modules>
<module>services</module>
</modules>
<groupId>com.atguigu</groupId>
<artifactId>cloud-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>cloud-demo</name>
<description>cloud-demo</description>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring-cloud.version>2023.0.3</spring-cloud.version>
<spring-cloud-alibaba.version>2023.0.3.2</spring-cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.选中cloud-demo,右击新建一个模块services 
将services的src删掉。
services的pom配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.atguigu</groupId>
<artifactId>cloud-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>services</artifactId>
<packaging>pom</packaging>
<modules>
<module>service-product</module>
<module>service-order</module>
</modules>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!–服务发现–>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-openfeign</artifactId>
</dependency>
</dependencies>
</project>
3.在services下创建service-order模块、service-product模块,目录结构如下:

注册中心

Nacos:是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos安装与启动
nacos官网:https://nacos.io/download/release-history/?spm=5238cd80.2ef5001f.0.0.3f613b7cthrZPR
下载2.4.3版本:

点击版本号即可下载,将压缩包下载到一个英文路径,解压后进入bin路径:

打开cmd,输入命令:startup.cmd -m standalone

启动完毕后,搜索:
localhost:8848/nacos

打开页面如下:

服务注册

步骤一:在service-order的pom文件中导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
步骤二:在前面的services已经引入公共依赖,这里不再引入。
在service-order里启动微服务:
选中图中路径:

新建一个主程序,在这里可能遇到点击新建时,没有Java class选项,按照如下解决方法,即可解决:

1.在项目视图中,找到你的src/main/java文件夹,右键选择Mark Directory as → Sources Root
2.此时该文件夹会变成蓝色,之后在这个目录下右键新建,就能看到 “Java Class” 选项。
然后新建一个主程序即可:

步骤三:在resources下新建一个文件application.properties
spring.application.name=service-order
server.port=8000
spring.cloud.nacos.server-addr=127.0.0.1:8848
步骤四:查看注册中心效果
运行主程序,打开http://localhost:8848/nacos/#/serviceManagement?dataId=&group=&appName=&namespace=&pageSize=&pageNo=&namespaceShowName=public&serviceNameParam=&groupNameParam=
发现service_order已注册,如下图

按照相同的步骤注册service_product。
注册完成之后控制台就会出现如下现象:

步骤五:集群模式启动测试
在上述基础上,添加多个微服务模拟集群模拟,操作步骤如下:
1.选中订单主程序,右击复制配置

2.名称改为OrderMainApplication-2,点击修改选项,将程序实参勾选上。

3.添加实参,将端口号改为8001,点击应用,确定。

添加其他微服务按相同方法添加即可。
添加完成后,重新运行,如下图所示:


网硕互联帮助中心





评论前必须登录!
注册