003 服务中心的搭建

Posted trekxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003 服务中心的搭建相关的知识,希望对你有一定的参考价值。

一 .概述

  在前面,我们知道服务中心对于一个微服务架构的重要性,没有服务中心,整个微服务都不会存在.

  本次,我们学习一下eureka服务中心的搭建.


 二 .eureka的基本原理

  在学习之中,为了更好的搭建我们的服务中心,我们首先了解一下eureka的基本原理.

[1]每一个微服务在启动的时候,都会想服务中心注册自己的信息,这个服务中心就是eureka的server部分

[2]同时还存在eureka的client,这是我们的微服务获取eureka的server之中信息的客户端.

[3]微服务自己会向eureka的服务端发现心跳报文,用来续约自己的生命周期

[4]eureka的server本身也会有一个机制,当超时的情况下,一个微服务没有续约自己,eureka就会踢出这个微服务(这个微服务很有可能已经挂了).

[5]在集群环境下,一个eureka的信息会复制到另外一个eureka的及其上,这样就能保证高可用的要求,也就是说一个eureka的服务器端也是一个eureka的客户端.

[6]每一个eureka的client都会缓存一个服务列表,放置每次都会到服务中心发现服务.


 三 .搭建eureka的服务端

[1]添加pom信息

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>

上面的配置之中,最核心的就是红色部分的,表示引入eureka的服务端程序包

[2]添加配置信息  

server:
  port: 10086
  
eureka:
  instance:
    hostname: eureka1.com
  client:
    register-with-eureka: false
    fetch-registry: false 
    service-url:
      defaultZone: http://eureka1.com:10086/eureka/

在上面,我们说到一个eureka的服务端也是一个客户端,记住这一点,我们来分析一下配置的信息.

[1]首先我们给服务器端一个port.

[2]然后我们给我们的eureka一个hostname

[3]最为重要的就是我们需要给出一个连接到eureka服务端的连接,在这里就是我们的default_zone的信息.

这里最让我们困扰的地方就是register-with-eureka的配置了,表示是否在eureka之中注册自己,我们不需要自己注册自己.

现在是单机环境下,我们也不需要从其他的节点之中抓取微服务的信息,因此我们配置fetch-registery的信息.

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

我们添加启动类,比较之前的启动类,我们多的一个就是红色部分的内容,表示自动开启eureka的服务器端的自动配置.


 四 .环境的测试

  我们启动项目,只要能看到下面的内容,就说明我们的eureka的服务器端成功的搭建.

技术分享图片

我们使用的是localhost进行的访问,能够访问成功也就说明我们的hostname配置之中应该表示的是实例的名称.

通常我们都会给不同的应用一个不同的实例名称.

 

以上是关于003 服务中心的搭建的主要内容,如果未能解决你的问题,请参考以下文章

[新增EA003考勤系统演示片段]全程字幕-22套UML+Enterprise Architect建模示范视频

Appium 003--脚本开发:官方demo演示 android_contacts.py

ESP8266-003 esp8266环境搭建与编译

003-LNMP之PHP环境搭建

node 环境下简单web服务器搭建代码

003.Keepalived搭建LVS高可用集群