当前位置: 首页 > news >正文

SpringCloud微服务框架搭建详解(基于Nacos)

SpringCloud微服务框架搭建详解(基于Nacos)

一、Nacos安装与配置(Windows环境)

1. Nacos下载

  1. 访问Nacos官方GitHub发布页面:https://github.com/alibaba/nacos/releases
  2. 下载最新稳定版本的Nacos(例如:nacos-server-2.2.0.zip)

2. 安装步骤

  1. 解压下载的zip文件到指定目录,例如:D:\nacos
  2. 进入Nacos的bin目录:D:\nacos\bin
  3. 启动Nacos服务器:
    • 单机模式启动:双击startup.cmd或在命令行执行startup.cmd -m standalone

3. 验证安装

  1. 打开浏览器,访问Nacos控制台:http://localhost:8848/nacos
  2. 默认账号密码:nacos/nacos

二、Nacos配置列表详解

1. 配置列表创建

  1. 登录Nacos控制台
  2. 点击左侧菜单"配置管理" -> "配置列表"
  3. 点击右上角"+"按钮,创建配置
  4. 填写配置信息:
    • Data ID:配置文件名,通常格式为服务名称.properties服务名称-环境.yaml
    • Group:配置分组,默认为DEFAULT_GROUP
    • 配置格式:选择YAML、Properties、JSON等
    • 配置内容:填写具体配置

2. 常用配置示例

2.1 数据库配置(MySQL)
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/microservice_db?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: 123456
2.2 Redis配置
spring:
  redis:
    host: localhost
    port: 6379
    password: 
    database: 0
    timeout: 10000
2.3 公共配置
server:
  tomcat:
    uri-encoding: UTF-8
    max-threads: 1000
    min-spare-threads: 30

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8

三、SpringCloud微服务项目搭建

1. 项目结构

microservice-demo
  ├── common                      # 公共模块
  ├── gateway-service             # 网关服务
  ├── auth-service                # 认证服务
  ├── user-service                # 用户服务
  ├── order-service               # 订单服务
  └── pom.xml                     # 父POM文件

2. 父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>2.6.11</version>
    </parent>
    
    <groupId>com.example</groupId>
    <artifactId>microservice-demo</artifactId>
    <version>1.0.0</version>
    <packaging>pom</packaging>
    <name>microservice-demo</name>
    <description>SpringCloud微服务示例</description>
    
    <modules>
        <module>common</module>
        <module>gateway-service</module>
        <module>auth-service</module>
        <module>user-service</module>
        <module>order-service</module>
    </modules>
    
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.11</spring-boot.version>
        <spring-cloud.version>2021.0.4</spring-cloud.version>
        <spring-cloud-alibaba.version>2021.0.4.0</spring-cloud-alibaba.version>
        <mybatis-plus.version>3.5.2</mybatis-plus.version>
        <druid.version>1.2.12</druid.version>
        <fastjson.version>2.0.16</fastjson.version>
        <hutool.version>5.8.9</hutool.version>
    </properties>
    
    <dependencyManagement>
        <dependencies>
            <!-- Spring Cloud -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            
            <!-- Spring Cloud Alibaba -->
            <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>
            

相关文章:

  • Scala
  • 洛谷1449c语言
  • 快速认识STL及string类
  • MySQL存储过程
  • Web网页内嵌福昕OFD版式办公套件实现在线预览编辑PDF、OFD文档
  • 笔记:纯真IP库
  • 前端工程化--gulp的使用
  • 计算机网络——传输层(TCP)
  • 【商城实战(82)】区块链赋能用户身份验证:从理论到源码实践
  • SpringBoot集成阿里云OCR实现身份证识别
  • 23种设计模式-桥接(Bridge)设计模式
  • 为AI聊天工具添加一个知识系统 之152 当今AI模型和AI工具应用中的核心矛盾
  • osgVerse学习:1、使用GPU烘焙处理倾斜摄影顶层合并时的接缝问题
  • js 对象深拷贝的五种方法
  • java-IO流笔记
  • android 一步完成 aab 安装到手机
  • 【Qt】QByteArray详解
  • 【HTML 基础教程】HTML 属性
  • antd-vue Table组件翻页后保留上一页已选的数据
  • 比特币等虚拟货币实时价格使用说明,数字货币价格获取,k线获取,实时价格获取
  • 渝北网站建设/媒体网络推广价格优惠
  • 服务器公司网站/平台推广公众平台营销
  • 优秀个人网站设计/怎么上百度搜索
  • 什么是网站链接优化/互联网推广销售
  • 足球比赛直播平台/seo优化专员编辑
  • 用fw做网站页面/百度首页排名优化价格