SpringCloud微服务实战——搭建企业级开发框架(二):环境准备【上】

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 这里简单说明一下在Windows系统下开发SpringCloud项目所需要的的基本环境,这里只说明开发过程中基础必须的软件,其他扩展功能(Docker,k8s,MinIO,XXL-JOB,EKL,Keepalived,Nginx,RabbitMQ,Kafka等)用到的软件会在具体使用时详细说明,本地开发的环境软件以Windows版本的安装配置为例,数据库等中间件以Linux(CentOS7)的安装配置为例,其他系统Mac/Linux可自行配置

 这里简单说明一下在Windows系统下开发SpringCloud项目所需要的的基本环境,这里只说明开发过程中基础必须的软件,其他扩展功能(Docker,k8s,MinIO,XXL-JOB,EKL,Keepalived,Nginx,RabbitMQ,Kafka等)用到的软件会在具体使用时详细说明,本地开发的环境软件以Windows版本的安装配置为例,数据库等中间件以Linux(CentOS7)的安装配置为例,其他系统Mac/Linux可自行配置。


    后端开发需要准备的环境及软件有:JDK 1.8+,Maven 3.6.3+,Mysql 5.7.11+,Redis 5.0+,Nacos 1.4.0+,Sentinel 1.8.0+,IntelliJ IDEA 2020.2.1


    前端开发需要准备的环境及软件有:Node.js 15.9.0+,npm/cnpm/yarn,Visual Studio Code


    实际上环境软件可以使用Docker安装,更加简单方便,如果说自己为了更详细地了解各项配置及安装原理,还是通过软件包一步步安装配置(这里暂不深入讨论数据库、消息中间件等应不应该使用Docker安装的问题),以下为详细安装操作步骤,不是小白请略过...


后端开发所需环境及软件安装步骤:


一、安装JDK


    2019年4月16日,Oracle发布了Oracle JDK的8u211和8u 212两个版本(属于JDK8系列),并从这两个版本开始将JDK的授权许可从BCL换成了OTN,也就是从这两个版本开始商用收费。当然,个人开发和测试并不会收费,那么商用环境我们可以有两个选择: 下载之前的版本(2019年1月15日发布的Oracle JDK 8u201和8u202)进行使用或者选择使用OpenJDK目前我们一般的做法是在本地开发环境使用Oracle JDK ,在测试环境和正式环境中使用OpenJDK。为了保持使用的特性一致,需选择合适的版本。


我们这里在开发过程中选择使用Oracke JDK, Oracle JDK官网下载选择页面已标注好8u211后面的版本和8u202之前的版本方便下载,https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html


微信图片_20220518140908.png

Oracle JDK官网下载页


  1. 选择JDK免费版进行下载,根据自己合适的Windows系统版本下载,我这里选择Windows x64版本,提前做好Oracke JDK网站的系统注册和登录,否则在下载过程中会提示登录选择页面

微信图片_20220518140905.png
Oracle JDK下载页


  1. 双击下载的Oracle JDK进行安装,根据提示一步步地点击下一步即可:

    微信图片_20220518140902.png
    安装1

    微信图片_20220518140857.png
    安装2

    微信图片_20220518140853.png
    安装3

    微信图片_20220518140850.png
    安装4

    微信图片_20220518140847.png
    安装5

    微信图片_20220518140844.png
    安装6


  1. 配置环境变量:

在系统环境变量中添加JAVA_HOME和 CLASSPATH,并将JAVA的bin目录加入到path中

微信图片_20220518140840.png
环境变量1

微信图片_20220518140837.png
环境变量2


  1. 验证是否安装配置成功:

运行 -> cmd命令窗口,在命令行中输入:java -version,下面出现版本信息说明安装配置成功。

微信图片_20220518140833.png
Java版本信息


二、安装Maven


    我们的SpringCloud项目使用Maven进行构建和依赖管理,Maven 的 Snapshot 版本与 Release 版本:1、Snapshot 版本代表不稳定、尚处于开发中的版本;2、Release 版本则代表稳定的版本。Gradle 作为构建工具最近几年也比流行,和Maven比较各有优缺点吧,如果说哪一个比较好,这个仁者见仁智者见智,我们这里仍选择Maven进行项目构建。


  1. 下载安装:
    Maven(http://maven.apache.org/download.cgi)需要JDK的支持,我们这里选择最新的Manven版本3.6.3,需要JDK1.7以上的支持,JDK的安装以及配置在上面我们已经完成。 下载Maven的zip包: apache-maven-3.6.3-bin.zip

微信图片_20220518140830.png
Maven下载页


  1. 配置环境:

在系统环境变量中添加 M2_HOME 和 MAVEN_HOME,最后在PATH中添加Maven的bin目录: %MAVEN_HOME%\bin

微信图片_20220518140827.png
M2_HOME 和 MAVEN_HOME

微信图片_20220518140822.png
path


  1. 验证是否安装配置成功:

运行 -> cmd命令窗口,在命令行中输入:mvn -version ,如下图所示,展示版本信息说明安装配置成功。

微信图片_20220518140819.png
Maven版本信息


  1. 注册阿里云私服并获取私服仓库地址:


我们可以选择安装Nexus作为Maven仓库管理器,也可以使用阿里云提供的Maven私服,配置方式都是一样的,这里我们选择使用阿里云的Maven私服,如果是企业使用,这里建议申请私有仓库:


微信图片_20220518140816.png
阿里Maven仓库

微信图片_20220518140812.png
私有仓库

微信图片_20220518140807.png
私有仓库地址

5、配置Maven私服地址和本地仓库路径,请按下面的注释进行替换为自己的私有仓库信息。


<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <!--请替换为自己本地的仓库地址-->
    <localRepository>D:\maven\repository</localRepository>
    <mirrors>
        <mirror>
            <id>mirror</id>
            <mirrorOf>!rdc-releases,!rdc-snapshots</mirrorOf>
            <name>mirror</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
    <servers>
        <server>
            <id>rdc-releases</id>
            <username>用户名/密码请替换为自己阿里云仓库的</username>
            <password>用户名/密码请替换为自己阿里云仓库的</password>
        </server>
        <server>
            <id>rdc-snapshots</id>
            <username>用户名/密码请替换为自己阿里云仓库的</username>
            <password>用户名/密码请替换为自己阿里云仓库的</password>
        </server>
    </servers>
    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>snapshots</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>rdc-releases</id>
                   <!--下面的url替换为自己的阿里云私服地址-->
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>rdc-snapshots</id>
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>snapshots</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>rdc-releases</id>
                   <!--下面的url替换为自己的阿里云私服地址-->
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>rdc-snapshots</id>
                    <!--下面的url替换为自己的阿里云私服地址-->
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>


相关文章
|
7天前
|
消息中间件 Java 数据库
构建高效可靠的微服务架构:后端开发的终极指南
【5月更文挑战第30天】 随着现代软件开发的复杂性日益增加,微服务架构已成为组织解决庞大系统问题的有效手段。本文将深入探讨如何构建一个既高效又可靠的微服务系统,涉及关键组件的选择、网络通信的最佳实践以及保证系统稳定性的策略。通过一系列实际案例与性能分析,我们将揭示后端开发在设计微服务时必须考虑的核心要素,并提供一套综合性解决方案,以指导读者实现强大的后端架构。
|
6天前
|
API 开发者 微服务
探索后端开发中的微服务架构
【5月更文挑战第31天】在数字化浪潮中,微服务架构如星辰般熠熠生辉,为后端开发领域带来革命性的创新。本文将深入探讨微服务架构的精髓,从其定义、核心优势到实际应用,展现这一技术如何在复杂业务场景下提供灵活、高效的解决方案。我们将一同见证微服务如何助力企业快速响应市场变化,实现技术的可持续发展。
|
6天前
|
Cloud Native 数据库 开发者
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第31天】 在数字化转型的浪潮中,微服务架构已成为企业技术战略的核心组成部分。本文将深入探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术选型、以及实践中的挑战与解决方案。通过对微服务架构的细致剖析,我们将提供一套实用的指南,帮助后端开发者优化系统结构,提升服务的可靠性、伸缩性和敏捷性。
|
6天前
|
敏捷开发 API 开发者
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第31天】 在现代软件开发的浪潮中,微服务架构已经成为企业追求敏捷开发、持续交付和系统弹性的关键解决方案。本文将深入探讨微服务架构的概念、优势以及如何构建一个高效的微服务系统。通过实际案例分析,我们将展示如何利用容器化、服务网格、API网关等技术手段,实现服务的解耦、分布式管理和网络通信优化。
|
7天前
|
监控 数据管理 开发者
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第30天】 在当今软件开发领域,微服务架构已成为提高系统可维护性、扩展性和开发效率的关键方案。本文深入探讨了构建高效微服务架构的策略,包括服务划分原则、通信机制、数据管理以及持续集成与部署的最佳实践。通过分析具体案例和最新技术趋势,文章旨在为后端开发者提供一套全面的指导,帮助他们在不断变化的技术环境中保持竞争力。
|
6天前
|
消息中间件 运维 监控
构建高效微服务架构:后端开发的新范式
【5月更文挑战第31天】在现代软件开发中,随着业务需求的多样化和系统复杂性的增加,传统的单体应用架构逐渐显得笨重且难以适应快速变化。微服务架构作为一种新兴的后端开发模式,以其灵活性、可扩展性和独立部署的特点,成为解决这一问题的关键。本文将探讨微服务架构的核心概念、设计原则以及如何在实际项目中实现一个高效的微服务系统。
|
7天前
|
缓存 监控 开发者
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第30天】在软件开发的世界中,微服务架构已经成为一种流行且高效的设计模式,它通过将大型应用程序分解成一组小的、独立的服务来提高可伸缩性和灵活性。本文深入探讨了微服务的核心概念、优势以及如何在后端开发中实现一个健壮的微服务架构。我们将讨论关键的设计原则、技术选型和常见的挑战,并提供解决方案和最佳实践以指导开发者构建出能够适应快速变化需求的系统。
|
7天前
|
监控 关系型数据库 持续交付
构建高效微服务架构:后端开发的最佳实践
【5月更文挑战第30天】随着现代应用的复杂性日益增加,微服务架构已成为众多企业和开发者的首选。本文将深入探讨如何构建一个高效的微服务系统,包括关键的设计原则、技术栈选择、以及确保系统稳定性和扩展性的实践方法。我们将通过实际案例分析,揭示后端开发中实现敏捷性和可维护性的策略,为追求卓越的软件工程师提供实用的指导。
|
7天前
|
设计模式 JavaScript Java
构建高效微服务架构:后端开发的新范式
【5月更文挑战第30天】 在现代软件开发的快速演变中,微服务架构已经成为推动技术创新和服务模块化的关键驱动力。本文将深入探讨如何构建一个高效的微服务架构,涵盖从基本概念理解到实践应用的全方位分析。我们将讨论微服务的核心原则、设计模式、技术栈选择以及它们如何促进系统的可伸缩性、灵活性和容错能力。通过具体案例研究和最佳实践分享,文章旨在为后端开发者提供一套实用的指南,帮助他们在构建和维护复杂系统时做出明智决策。
|
7天前
|
敏捷开发 API 开发者
构建高效微服务架构:后端开发的新趋势
【5月更文挑战第30天】 在现代软件开发领域,随着业务需求的不断复杂化以及敏捷开发和持续交付的普及,传统的单体应用逐渐显得笨重且难以管理。微服务架构作为解决这一问题的关键方案,正逐步成为后端开发的主流趋势。本文将深入探讨微服务的概念、优势与挑战,并详细阐述如何构建一个高效的微服务系统。通过分析模块化设计原则、服务划分策略及技术栈选择等关键要素,本文旨在为开发者提供一套实用的后端微服务架构设计指南。