栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud Eureka基本使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud Eureka基本使用

目录

1.注册中心的对比

​2.Eureka 基础架构​

3.Eureka交互流程

4.搭建单例Eureka Server服务注册中心 

1.引入pom

1.1 lagou-parent中引入Spring Cloud 依赖环境

 1.2引入 -Eureka server依赖

 3.写yml

 4.主启动

 5.访问注册中心

 6.商品微服务和页面静态化微服务注册到Eureka

 6.1 pom文件中添加Eureka Client依赖

 6.2yml配置Eureka服务端信息

 6.3 修改启动类 


1.注册中心的对比

CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得

2.Eureka 基础架构

3.Eureka交互流程

 

1.首先Eureka包含两个组件,一个Eureka Server,一个Eureka Client

2.服务的提供者和消费者都是Eureka的Client,并且都要向注册中心进行注册

3.注册中心是集群的话,server自己也要注册进去,那么注册之后会进行集群之间的数据同步

4.微服务启动后并且注册后,每隔30s会周期性的向Eureka Server发送心跳,证明自己还活着,如果Eureka Server 90s还没检测到的话,就会将服务进行移除

5.Eureka Client会缓存注册中心的的服务信息,即使注册中心挂了,或者服务注册挂了,服务消费者依然可以使用缓存中的信息找到服务提供者(在一定的时间内)

6.Eureka通过心跳检测、健康检查和客户端缓存等机制,提高系统的灵活性、可伸缩性和高可用性。

4.搭建单例Eureka Server服务注册中心 

1.引入pom

1.1 lagou-parent中引入Spring Cloud 依赖环境

Spring Cloud 是一个综合的项目,下面有很多子项目,比如eureka子项目




org.springframework.cloud
spring-cloud-dependencies
Greenwich.RELEASE
pom
import


 1.2引入 -Eureka server依赖

lagou-cloud-eureka工程pom.xml中引入依赖




org.springframework.cloud
spring-cloud-starter-netflix-eureka-server

 注意:在父工程的pom文件中手动引入jaxb的jar,因为Jdk9之后默认没有加载该模块,Eureka
Server使用到,所以需要手动导入,否则EurekaServer服务无法启动

父工程:



com.sun.xml.bind
jaxb-core
2.2.11


javax.xml.bind
jaxb-api


com.sun.xml.bind
jaxb-impl
2.2.11


org.glassfish.jaxb
jaxb-runtime
2.2.10-b140310.1920


javax.activation
activation
1.1.1


 3.写yml

在yml文件中配置Eureka server服务端口,服务名等信息

#Eureka server服务端口
server:
port: 9200
spring:
application:
name: lagou-cloud-eureka-server # 应用名称,会在Eureka中作为服务的id标识
(serviceId)
eureka:
instance:
hostname: localhost
client:
service-url: # 客户端与EurekaServer交互的地址,如果是集群,也需要写其它Server的地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
register-with-eureka: false # 自己就是服务不需要注册自己
fetch-registry: false #自己就是服务不需要从Eureka Server获取服务信息,默认为true,置
为false

 4.主启动

编写启动类,声明当前服务为Eureka注册中心

package com.lagou.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
 声明本项目是一个Eureka服务
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class,args);
}
}

 5.访问注册中心

访问http://127.0.0.1:9200,如果看到如下页面(Eureka注册中心后台),则表明EurekaServer
发布成功

 6.商品微服务和页面静态化微服务注册到Eureka

 6.1 pom文件中添加Eureka Client依赖


org.springframework.cloud
spring-cloud-starter-netflix-eureka-client

 6.2yml配置Eureka服务端信息
eureka:
client:
serviceUrl: # eureka server的路径
defaultZone: http://localhost:9200/eureka/
instance:
#使用ip注册,否则会使用主机名注册了(此处考虑到对老版本的兼容,新版本经过实验都是ip)
prefer-ip-address: true
#自定义实例显示格式,加上版本号,便于多版本管理,注意是ip-address,早期版本是ipAddress
instance-id: ${spring.cloud.client.ipaddress}:${spring.application.name}:${server.port}:@project.version@

 6.3 修改启动类 
@SpringBootApplication
@EnableDiscoveryClient //@EnableEurekaClient
public class PageApplication {
public static void main(String[] args) {
SpringApplication.run(PageApplication.class,args);
} 
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
}


 


 



 


 


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号