SpringCloud 学习日志 1——Eureka

本贴最后更新于 1528 天前,其中的信息可能已经斗转星移

它是什么?

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 服务中心与每个实例服务之间,是通过发送心跳来保持连接

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

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

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    940 引用 • 1458 回帖 • 160 关注
  • Eureka
    22 引用 • 3 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...