初识Springcloud Alibaba

一、什么是Springcloud Alibaba

它是微服务概念的一种实现,解决了如下问题

  • N个服务,如何管理?(服务治理 注册中心【服务的注册、发现、删除】)nacos
  • N个服务,如何通信?feign
  • N个服务,客户端如何访问?gateway
  • N个服务,一旦出现问题了,怎么处理?(容错)sentinel
  • N个服务,一旦出现问题了,如何排查?(链路追踪)skywalking
  • N个服务,怎么保持数据一致性?seata

二、安装Nacos

点击进入官网版本发布说明
image

我使用的spring-boot版本是3.2.4,根据查看官方文档,Nacos所需版本为2.3.2,点击进入Nacos官网下载页面,找到指定版本进行下载

所需jar包的版本如下

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>3.2.4</version>
  <relativePath/>
</parent>
  <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2023.0.1.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2023.0.1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

三、Nacos配置修改

  1. 创建Mysql数据库,名称随意;找到nacos-server-2.3.2\nacos\conf目录,运行mysql-schema.sql脚本

  2. 进入application.properties文件修改数据库配置

### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/数据库名称?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=账号
db.password.0=密码
  1. 找到nacos-server-2.3.2\nacos\bin目录,修改startup文件(会有两个,根据自己电脑的系统选择),修改启动模式为单例
set MODE="standalone"
  1. 双击startup启动
    浏览器访问http://localhost:8848/nacos能出现页面即成功

四、在linux中安装Nacos

sudo apt-get update

 sudo apt-get install openjdk-8-jdk
wget https://github.com/alibaba/nacos/releases/download/2.3.2/nacos-server-2.3.2.tar.gz

tar -zxvf nacos-server-2.3.2.tar.gz

sudo mv nacos /www/wwwroot

cd /www/wwwroot/nacos/bin

sh startup.sh -m standalone

五、远程调用服务器上调用Nacos的艰苦经历

众所周知,Nacos访问的端口默认为8848,所以在服务器上我下意识的只对外开放了8848端口,最终的结果就是在本地浏览器能正常访问Nacos界面,但本地微服务启动就会报错,启动失败

这涉及到 Nacos 2.x 的客户端工作原理。

  • 8848 是"入口端口":客户端首先通过 8848 端口与 Nacos 服务器建立 HTTP 连接。

  • 自动协商:连接建立后,Nacos 服务器会告诉客户端:"请使用 gRPC 与我通信,gRPC 的端口是 9848"。

  • 自动切换:客户端随后会自动与服务器的 9848 端口建立 gRPC 长连接,用于后续的服务注册、发现和心跳维持。

所以服务器除了要开放8848端口外,还需要开放9848端口!!!

最终我发现不开通8848端口,依旧能实现服务的注册与发现,为什么?

posted @ 2025-09-14 09:53  派大星在干嘛  阅读(19)  评论(0)    收藏  举报