首页 技术 正文
技术 2022年11月15日
0 收藏 965 点赞 4,877 浏览 3461 个字

场景

SpringCloud学习之运行第一个Eureka程序:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90611451

SpringCloud -创建统一的依赖管理:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102530574

Rureka(服务发现框架)

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
Eureka包含两个组件:Eureka Server和Eureka Client。
Eureka Server提供服务注册服务,各个节点启动后,会在Eureka
Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client是一个java客户端,用于简化与Eureka
Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka
Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka
Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

参照上面创建统一的依赖管理的实现,新建文件夹以及pom文件

然后复制如下代码到pom.xml

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.</modelVersion> <parent>
<groupId>com.badao</groupId>
<artifactId>hello-spring-cloud-dependencies</artifactId>
<version>1.0.-SNAPSHOT</version>
<relativePath>../hello-spring-cloud-dependencies/pom.xml</relativePath>
</parent> <artifactId>hello-spring-cloud-eureka</artifactId>
<packaging>jar</packaging> <name>hello-spring-cloud-eureka</name>
<url>https://blog.csdn.net/badao_liumang_qizhi</url>
<inceptionYear>-Now</inceptionYear> <dependencies>
<!-- Spring Boot Begin -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring Boot End --> <!-- Spring Cloud Begin -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!-- Spring Cloud End -->
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!--指定程序入口类-->
<mainClass>com.badao.hello.spring.cloud.eureka.EurekaApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>

注意:

这里的parent标签要与上面的统一的依赖管理对应起来。

要修改指定的程序入口类为自己相应的路径。

然后手动将pom.xml托管。

然后新建src/main/java目录

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

然后将其设置为源码目录

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

然后再新建src/main/resources

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

然后将其设置为资源目录

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

然后再java下新建package,这里以完整项目名作为后缀包名

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

然后新建应用启动类EurekaApplication

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

添加如下代码

package com.badao.hello.spring.cloud.eureka;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args){
SpringApplication.run(EurekaApplication.class,args);
}
}

注:

添加注解@EnableEurekaServer表示启动一个服务注册中心

如果代码有红色错误出现,需要设置JDK

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

然后再resources下新建application.yml

spring:
application:
name: hello-spring-cloud-eurekaserver:
port: 8761eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

  

注:

1.服务注册与发现是根据上面的name去寻找。

2.port表示端口号。

3.hostname表示eureka服务的地址,这里是本地所以是localhost。

4.client下的两个为false的配置,表示这是服务端,如果不加则表示为客户端。

5.serviceURL设置eureka的地址。

然后打开Maven面板,双击Install,不然会提示程序找不到启动类。

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

然后运行启动类。打开浏览输入:

localhost:8761

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11858953

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,022
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,359
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,142
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,773
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,851