暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Springcloud 之 Eureka 服务搭建

皮皮克克 2022-12-19
88

点击关注公众号,干货第一时间送达



学习 Springcloud 的同学应该都知道,
Eureka 是一个绕不过去的门槛。
不是说它难,而是它比较重要。
今天,小编用给诸位演示一下,如何完整地搭建 Eureka 服务。
我们直接上干货!


一、IDEA 父子工程搭建
因为小编将开启 springcloud 微服务系列文章,所以在本地电脑搭建了IDEA父子工程,用于后面构建整个微服务群。
所以这里的第一步,大家可以参考。也可以直接跳转到第二步,直接查看 Eureka 服务搭建的详情。

1,IDEA 父工程搭建
(1) new Project

(2)选择 Maven -> Project SDK : 1.8 -> Next

(3)填写 Name、GroupId、ArtifactId、Version 等信息,然后 Finish

(4)会得到这样的原始项目结构

(5)删除原始结构中 src 目录及其子目录,构成我们需要的父工程


2,IDEA 子工程搭建
子工程,其实就是在父工程里面增加 Module。
(1)右击项目名,点击 Module

(2)还是选择 Maven ->Project JDK ->Next

(3)填写子工程相关 Name、AritifactId 信息,然后 Finish

(4)得到下图所示父子工程结构
子工程 pom.xml 文件:


父工程 pom.xml文件:


注意:

1,pom 方式:在父级项目中的pom.xml文件使用的packaging配置一定为pom。父级的pom文件只作项目的子模块的整合,在maven install时不会生成jar/war压缩包。

2,jar 方式:当pom文件中没有设置packaging参数时,默认使用jar方式打包。这种打包方式意味着在maven build时会将这个项目中的所有java文件都进行编译形成.class文件,且按照原来的java文件层级结构放置,最终压缩为一个jar文件。当我们使用mvn install命令的时候,能够发现在项目中与src文件夹同级新生成了一个target文件夹,这个文件夹内的classes文件夹即为刚才提到的编译后形成的文件夹。

3,war 方式:war包与jar包非常相似,同样是编译后的.class文件按层级结构形成文件树后打包形成的压缩包。不同的是,它会将项目中依赖的所有jar包都放在WEB-INF/lib这个文件夹下 war包非常适合部署时使用,不再需要下载其他的依赖包,能够使用户拿到war包直接使用,因此它经常使用于微服务项目群中的入口项目的pom配置中。



二、Eureka 服务搭建

1,父工程添加 springboot、springcloud 依赖管理

详细代码:

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <spring.boot.version>2.3.2.RELEASE</spring.boot.version>
        <spring-cloud.version>Hoxton.SR1</spring-cloud.version>
    </properties>


<!--    父类工程管理机制,管理子工程依赖-->
    <dependencyManagement>
        <dependencies>
            <!-- 定义springboot依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring.boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--  定义springCloud依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>


2,子工程添加 eureka 依赖


详细代码:

    <dependencies>
<!--        eureka-server服务端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>

3,子工程添加 yml 配置文件

server:
  port: 7001

#单机版eureka
eureka:
  instance:
    hostname: localhost #eureka服务端实例名称
  client:
    register-with-eureka: false #false表示不向注册中心注册自己
    fetch-registry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #设置与eureka-server交互的地址查询服务和注册服务依赖的地址



4,子工程添加 启动类,并添加 @EnableEurekaServer 注解

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args);
    }
}

5,启动子项目,浏览器输入:http://localhost:7001

能够正常看到这个界面,就表示eureka 服务正常启动了



结束语:
Ok,到此为止,就是本篇文章的全部内容了。
该文章主要讲了 Eureka服务搭建。
如果各位有不懂的地方,欢迎发消息给小编,小编会进行详细地解答。
最后,请屏幕前的各位小可爱,动动你们的小手,给小编一个“在看”吧!

文章转载自皮皮克克,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论