云计算百科
云计算领域专业知识百科平台

nacos-注册中心-服务注册

目录

分布式基础

架构演进-核心概念

单体架构(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,点击应用,确定。

添加其他微服务按相同方法添加即可。

添加完成后,重新运行,如下图所示:

赞(0)
未经允许不得转载:网硕互联帮助中心 » nacos-注册中心-服务注册
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!