博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
细水长流——Eureka实现Demo
阅读量:4971 次
发布时间:2019-06-12

本文共 2434 字,大约阅读时间需要 8 分钟。

首先,我们来解释下什么是Eureka?

  Eureka:基于REST服务的分布式中间件,主要用于服务管理。服务直接的调用并不是通过Eureka,只是维护一些服务的列表。

 

  对比上面的图,我们举一个详细的例子来说明下,我们可以将Eureka服务器看作是我们现在的电商平台(比如京东),Eureka客户端的服务提供者看作是供应商(这里我们选择华为),Eureka客户端

的服务调用者就是我们的用户了。好,理解了上面的架构图,让我们一块来实现一个李白(服务调用者)在京东(Eureka服务器)购买华为(Eurake客户端的服务提供者)手机的小案例。

 

首先,我们创建3个简单的maven项目

 

 

 创建好之后,我们首先来搭建京东这个Eureka服务器,在pom.xml中加入Eureka的依赖,如下

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>Dalston.SR5</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

 

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-config</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka-server</artifactId>

</dependency>

</dependencies>

 

再编写一个启动类

 

@SpringBootApplication

@EnableEurekaServer

public class StartUp {

public static void main(String[] args) {

new SpringApplicationBuilder(StartUp.class).web(true).run(args);

}

}

 

这时候,我们启动发现报错,这是因为,京东这个项目也注册到Eureka服务端,服务端默认端口8761,因此我们需要设置一些Eureka的配置

 

 

此时我们再启动项目,就会发现启动正常了,我们访问,localhost:8761查看Eureka 

 

好,到这一步,Eureka到服务器我们已经搭建好了,下面我们将华为注册到京东上去,操作eureka-huawei项目,同样,我们首先在pom.xml中加入依赖 

 

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>Dalston.SR5</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-config</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka</artifactId>

</dependency>

</dependencies>

 

编写启动类

 

 

我们提供一个手机购买的方法

 

 

创建application.yml文件,将我们华为项目注册进入京东(Eureka服务器)

 

这时候我们再启动华为项目,再次访问localhost:8761,这时候我们就会发现华为这个Eureka服务提供商被我们注册进来了

 

测试我们的手机功能:localhost:8000/phone/1

 

 

最后,我们来操作我们的eureka-customer项目,同样先添加依赖,这里我们多引入了一个ribbon框架,因为现在大部分服务器都是负载均衡,我们使用多时候不需要知道具体是由哪个服务器提供,

启动类同huawei项目相同,这里不再重复

yml文件只是改下名称,同样注册到我们Eureka服务器

 

这里我们用restTemplate来调用服务,编写一个配置类,提供RestTemplate

 

最后,我们再编写controller,写一个购买手机服务,用来购买我们华为提供的商品

好,现在我们再启动customer项目,查看localhost:8761

 

 这时,我们的李白也注册了一个京东账户了,接下来,他就可以买产品了,我们调用http://localhost:9000/buyPhone/3,发现他成功的购买了华为的商品

到此一个简单的Eureka项目已经编写完毕

 

转载于:https://www.cnblogs.com/yxdtyut/p/8822693.html

你可能感兴趣的文章
格言?
查看>>
linux ssh_config和sshd_config配置文件
查看>>
【夯实PHP基础】PHP 面向对象
查看>>
在shell script中进行数值运算的两种方法
查看>>
Web - LNMP
查看>>
DevOps - 版本控制 - Git
查看>>
多应用单账户登录体系梳理
查看>>
Web开发者应知的URL编码知识
查看>>
Android 调用相册 拍照 实现系统控件缩放 切割图片
查看>>
图解教你如何使用ANT打包java程序
查看>>
java游戏开发指导
查看>>
SQL 事物
查看>>
双端队列
查看>>
【LOJ】 #2013. 「SCOI2016」幸运数字
查看>>
折腾mysql的小坑记录
查看>>
树莓派入门
查看>>
tyvj1004 滑雪
查看>>
URAL 1143 Electric Path(带方向的区间DP + 记忆化搜索)
查看>>
HDOJ 3033 I love sneakers!(分组背包变型)
查看>>
Oracle系列(一): Oracle数据恢复
查看>>