[图片] 它是什么? eureka 是一个服务注册和发现模块,是 Spring Cloud Netflix 的组件之一。一般都称之为“Eureka 服务注册中心”。 它有什么用? 在微服务架构中,主要用户发现其他微服务的模块存在。 我是怎么去理解它的。 在我看来,它就相当与是一个传话人一样。徘徊在一群人之间,把每个人连 ..

SpringCloud 学习日志 1——Eureka

它是什么?

eureka 是一个服务注册和发现模块,是 Spring Cloud Netflix 的组件之一。一般都称之为“Eureka 服务注册中心”。

它有什么用?

在微服务架构中,主要用户发现其他微服务的模块存在。

我是怎么去理解它的。

在我看来,它就相当与是一个传话人一样。徘徊在一群人之间,把每个人连接起来。如果把微服务比作是一个小公司,那么 eureka 就相当于这个公司的行政一样。。。(暂时我个人是这么理解的,后续有新的认识再修改)

如何使用?

一、创建 server 服务注册中心

通过 IDEA 创建一个 Spring boot 的工程,如下图所示。

下一步,名字这些随意

这里需要选择一下 Spring Cloud Discovery 然后勾选 Eureka Server,后面下一步 直到 Finish

创建完成,自动打开项目后,记得开启 maven 自动引入依赖包。

二、启动 server 工程

启动工程需要修改一下配置文件,将 application.properties 修改成 application.yml。然后加入下面的配置信息

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

最后在工程启动类中加入@EnableEurekaServer,通过此注解来表明它将作为一个服务注册中心启动。

启动项目:

控制台中没有异常错误信息(如果有,就进行翻译信息来排查具体的错误)

打开浏览器输入 http://localhost:8761/ 回车!

看到此页面,表明我们的 Eureka Server 注册服务中心启动成功。

三、看看是否能够使用

现在,服务注册中心有了,但是里面没有一个服务模块。。。那我们就创建一个 Eureka Client 服务吧。

创建 Client 的具体步骤,与创建 Server 一样。

唯一的不同是,启动类的注解,与配置文件信息上的差别。

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
server:
  port: 8762
spring:
  application:
    name: service-hi

ps:必须要指明 spring.application.name(重要),服务与服务之间的相互调用都是根据配置的 name 名

在 client 启动类上加上@EnableEurekaClient 注解,启动工程。

刷新上面打开的服务注册中心页面

可以看到红圈中已经启动成功,并已经注册成功的 client 服务。

一个完整的 Eureka 例子就搭建成功了。

贤者时间

eureka 服务中心与每个实例服务之间,是通过发送心跳来保持连接

很好,这很好的解释了微服务架构中的各个服务模块是如何知道对方的存在。

就像,你想勾搭隔壁办公室的小姐姐,在你们工作时间不一致的情况,你想知道人家今天在干嘛。。。怎么办呢?比如,通过第三个人时不时去骚扰一下,在互不干扰的情况下,建立你们之间的交流桥梁。

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2584 引用 • 7983 回帖 • 803 关注
  • 云计算
    72 引用 • 87 回帖
回帖
请输入回帖内容...