Eureka

父工程

核心依赖

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>xy</groupId>
<artifactId>xy-cloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>xy-cloud</name>
<description>xy-cloud</description>
<properties>
<java.version>8</java.version>
<spring.cloud.version>Hoxton.SR12</spring.cloud.version>
</properties>
<packaging>pom</packaging>
<modules>
<module>xy-eureka</module>
<module>xy-consumer</module>
</modules> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <dependencyManagement>
<!--引入springcloud依赖的-->
<dependencies>
<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> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

服务端

核心依赖

<!--eureka server 依赖坐标-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

配置文件

# 服务端口
server:
port: 9090 spring:
# 应用名字,eureka 会根据它作为服务id
application:
name: EurekaServer # eureka
eureka:
instance:
hostname: localhost
client:
service-url: #eureka server 的地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
register-with-eureka: false # 不向eureka server 注册自己
fetch-registry: false # 不向eureka server 获取服务列表

启动类

加上@EnableEurekaServer 注解

package xy.cloud.eureka;

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

启动成功

客户端

核心依赖

 <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

配置文件

server:
port: 8081 spring:
application:
name: xy-consumer eureka:
client:
service-url:
#eureka server 的地址
defaultZone: http://localhost:9090/eureka
# 向eureka server 获取服务列表
fetch-registry: true
# 向eureka server 注册
register-with-eureka: true

启动类

启动类添加 @EnableEurekaClient 表示当前服务为客户端

@EnableEurekaClient
@SpringBootApplication
public class XyConsumerApplication { public static void main(String[] args) {
SpringApplication.run(XyConsumerApplication.class, args);
} }

注册成功

RestTemplate

服务提供者

新建一个服务提供者,xy-provider ,工程跟xy-consumer 方式一样。

接口

供消费者调用

@RestController
public class ProviderController { @Value("${server.port}")
private Integer port; @GetMapping("/helloProvider")
public String helloProvider(){
return "helo i am provider ,my port is : " +port;
}
}

服务消费者

RestTemplate配置

@Configuration
public class RestTemplateConfiguration { @Bean
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}

接口

@RestController
public class ConsumerController { /**
* spring提供的一个用于访问rest接口的模板对象
*/
@Resource
private RestTemplate restTemplate; @GetMapping("/getConsumer")
public String helloConsumer(){
String res = restTemplate.getForObject( "http://xy-provider/helloProvider", String.class);
return res;
}
}

测试结果

【SpringCloud】 Eureka的更多相关文章

  1. 【SpringCloud】Eureka入门与原理

    为了开发效率高效和业务逻辑清晰,越来越多的项目采用分布式系统.分布式最重要的就是注册中心了.Eureka是SpringCloud原生提供的注册中心,来look一波吧. 超光速入门 服务端 引入依赖: ...

  2. 【springcloud】Eureka服务注册中心搭建

    转自:https://blog.csdn.net/pengjunlee/article/details/86538997 Spring Cloud是一系列框架的集合,它利用Spring Boot的开发 ...

  3. 【springcloud】Eureka 常用配置解析

    转自:https://www.cnblogs.com/zyon/p/11023750.html 1. 配置项解析 1.1 通用配置 # 应用名称,将会显示在Eureka界面的应用名称列 spring. ...

  4. 【springcloud】springcloud Greenwich SR4版本笔记

    springcloud Greenwich SR4版本笔记 本文只记录实际版本,配置,pom,代码以及注意事项.别的在其他springcloud 的F版本中已有详述. 示例代码地址:https://g ...

  5. 【SpringCloud】Gateway 配置全局过滤器获取请求参数和响应值

    [SpringCloud]Gateway 配置全局过滤器获取请求参数和响应值 实现Ordered接口getOrder()方法,数值越小越靠前执行,记得这一点就OK了. 获取请求参数RequestBod ...

  6. 【SpringCloud】第一篇: 服务的注册与发现(Eureka)

    前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选. ...

  7. 【SpringCloud】04.SpringCloud Eureka Server与Client的创建

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCloud将它集成在其子项 ...

  8. 【SpringCloud】(二)Eureka注册中心和Feign远程调用

    1 SpringCloud 核心 SpringCloud基于HTTP协议,这是和Dubbo最本质的区别,Dubbo的核心是RPC(远程方法调用) Eureka:注册中心 Ribbon:客户端负载均衡 ...

  9. 【SpringCloud】06.Eureka 总结

    1.两个注解: @EnableEurekaServer--在启动类上添加 @EnableDiscoveryClient或@EnableEurekaClient--启动类加 因为Eureka支持多种注册 ...

  10. 【SpringCloud】05.Eureka的高可用

    1.简单情况 2.为了达到Eureka的高可用,可以多个Eureka互相注册. 3.我们需要修改两处: Eureka Client Eureka Server 3.1 Eureka Client 在C ...

随机推荐

  1. Junit启动测试mybatis xml文件BindingException: Invalid bound statement问题

    背景:1.正常启动,xml文件放在java目录和resource目录下均正常 2.junit启动,xml文件放在resource目录下正常,放在java目录下报BindingException错误 m ...

  2. SQL server数据库拼接语句(STUFF)用法

    我对SQLserver 中STUFF函数的理解是在sql server中将字符串中的第一个字符串某一部分字符替换成另外一部分,组成新的字符串数据. STUFF(character_expression ...

  3. 17-js代码压缩

    const { resolve } = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); modul ...

  4. Ajax 以及 Ajax基于Promise封装

    AJAX - 创建 XMLHttpRequest 对象 var xmlhttp = new XMLHttpRequest(); 通过打印实例对象我们发现,我们打印的是 xmlhttp 对象,里面所有的 ...

  5. 2022CSP游记

    目录 CSP-J2022 7:45 8:15 8:27 8:38 9:12 9:23 10:34 11:57 中午 CSP-S2022 2:27 4:15 6:12 估分 普及 提高 自查 出分 废物 ...

  6. 继承 extends

    首先是基础的继承关系,用extend就可以继承. 再者是继承的东西,包括:变量(也包括类变量).全部非私有的属性和方法(除了父类的构造方法) 注:构造方法 class C{ public C() { ...

  7. 做了个vscode 小插件,用于修改window 的颜色以区分同时打开的不同工作区,快用起来吧!

    Coralize marketplace/coralize 以高效且便捷的方式自定义Visual Studio Code工作区窗口的状态栏.标题栏以及活动边栏等颜色!这将对那些需要同时打开多个vsco ...

  8. 【C#】图片上传并根据长宽大小进行正方形、长方形及等比缩放。

    #region 正方型裁剪并缩放 /// <summary> /// 正方型裁剪 /// 以图片中心为轴心,截取正方型,然后等比缩放 /// 用于头像处理 /// </summary ...

  9. 项目打包后配置到node服务器

    1.将项目进行打包 npm run build项目根目录下会多出一个打包好的由.js .html .css文件组成的dist文件夹,如图 2.搭建node微型服务器   新建文件夹命名"no ...

  10. 2021-05-17:数组中所有数都异或起来的结果,叫做异或和。给定一个数组arr,可以任意切分成若干个不相交的子数组。其中一定存在一种最优方案,使得切出异或和为0的子数组最多。返回这个最多数量。

    2021-05-17:数组中所有数都异或起来的结果,叫做异或和.给定一个数组arr,可以任意切分成若干个不相交的子数组.其中一定存在一种最优方案,使得切出异或和为0的子数组最多.返回这个最多数量. 福 ...