从零开始搭建微服务(一)

构建项目父工程 添加公共核心模块 安装nacos

安装nacos
  • nacos 文档地址: https://nacos.io/zh-cn/docs/what-is-nacos.html

  • 本文使用版本2.2.2 下载地址:https://github.com/alibaba/nacos/archive/refs/tags/2.2.2.zip


使用nacos
  1. 我们下载是源代码 解压即可

    unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
    cd nacos/bin
    
  2. 添加nacos数据库修改nacos配置文件

    新建数据库nacos 修改配置文件

    2.1 导入数据库脚本 nacos/conf/mysql-schema.sql 在新建的nacos数据库执行即可

    2.2 修改配置文件数据库密码 nacos/conf/application.properties 如果没有 复制一份__application.properties.example__

    从零开始搭建微服务(一)_第1张图片

  3. 启动服务器


注:Nacos的运行需要以至少2C4g60g*3的机器配置下运行

Linux/Unix/Mac

启动命令(standalone代表着单机模式运行,非集群模式):

sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:

bash startup.sh -m standalone

Windows

启动命令(standalone代表着单机模式运行,非集群模式):

startup.cmd -m standalone
  1. 访问http://127.0.0.1:8848/nacos能通代表启动成功 默认用户名和密码 nacos

  2. 关闭nacos

    Linux/Unix/Mac

    sh shutdown.sh
    

    Windows

    shutdown.cmd
    

    或者双击shutdown.cmd运行文件。

搭建项目

  • 新建项目 修改项目打包方式为pom,删除掉src目录和其它无用的文件只保留pom.xml ,引入微服务依赖 前面有讲过

    我们先讲基础的依赖添加进来后面需要其它组件的时候我们在添加

    父工程结构如下:

    从零开始搭建微服务(一)_第2张图片

    pom文件

    
    <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.0modelVersion>
    
        <groupId>com.aihegroupId>
        <artifactId>aihe-cloudartifactId>
        <version>1.0-SNAPSHOTversion>
    
        <properties>
            <maven.compiler.source>8maven.compiler.source>
            <maven.compiler.target>8maven.compiler.target>
            <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    
            <spring-boot-admin.version>2.7.10spring-boot-admin.version>
            <spring.boot.version>2.7.11spring.boot.version>
            <spring.cloud.version>2021.0.5spring.cloud.version>
            <spring.cloud.alibaba.version>2021.0.5.0spring.cloud.alibaba.version>
            <jasypt.version>3.0.5jasypt.version>
        properties>
    
        
        <dependencies>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-configuration-processorartifactId>
                <optional>trueoptional>
            dependency>
            
            <dependency>
                <groupId>com.github.ulisesbocchiogroupId>
                <artifactId>jasypt-spring-boot-starterartifactId>
                <version>${jasypt.version}version>
            dependency>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-actuatorartifactId>
            dependency>
            
            <dependency>
                <groupId>de.codecentricgroupId>
                <artifactId>spring-boot-admin-starter-clientartifactId>
                <version>${spring-boot-admin.version}version>
            dependency>
            
            <dependency>
                <groupId>org.projectlombokgroupId>
                <artifactId>lombokartifactId>
                <scope>providedscope>
            dependency>
            
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-testartifactId>
                <scope>testscope>
            dependency>
        dependencies>
    
        <dependencyManagement>
            <dependencies>
                
                <dependency>
                    <groupId>org.springframework.cloudgroupId>
                    <artifactId>spring-cloud-dependenciesartifactId>
                    <version>${spring.cloud.version}version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
    
                
                <dependency>
                    <groupId>com.alibaba.cloudgroupId>
                    <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                    <version>${spring.cloud.alibaba.version}version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
    
                
                <dependency>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-dependenciesartifactId>
                    <version>${spring.boot.version}version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
            dependencies>
        dependencyManagement>
    project>
    
  • 添加子项目 common模块 封装全局返回 全局异常,全局枚举 其它的以后封装

    从零开始搭建微服务(一)_第3张图片

    pom文件

    暂时先添加web和validation依赖

    
    <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.0modelVersion>
        <parent>
            <groupId>com.aihegroupId>
            <artifactId>aihe-cloudartifactId>
            <version>1.0-SNAPSHOTversion>
        parent>
    
        <artifactId>aihe-cloud-commonartifactId>
    
        <properties>
            <maven.compiler.source>8maven.compiler.source>
            <maven.compiler.target>8maven.compiler.target>
            <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
            dependency>
    
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-validationartifactId>
            dependency>
    
        dependencies>
    
    project>
    
    到此我们微服务第一步就算是搭建好了 先安装nacos是为了后面的方便

你可能感兴趣的:(微服务,spring,springboot,微服务,架构,云原生)