微服务学习之服务治理、服务注册与发现、Eureka【Hoxton.SR1版】

目录

 

1 服务治理

2 服务注册与发现

3 Eureka包含两个组件:Eureka Server、Eureka Client

4 Eureka Server配置

4.1 pom.xml

4.2 application.yml

4.3 主启动类


1 服务治理

    在传统的RPC远程调用框架中,管理每个服务与服务之间的依赖关系比较复杂,管理比较困难,因此需要使用服务治理,管理服务与服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。

    SpringCloud中封装了Netflix公司开发的Eureka模块来实现服务治理。

2 服务注册与发现

Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过Eureka Server来监控系统中各个微服务是否正常运行。

在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息(比如服务地址、通讯地址等)以别名方式注册到注册中心。另一方(消费者、服务提供者)以该别名的方式去注册中心获取到实际的服务通讯地址,然后再实现本地RPC调用RPC远程调用框架。核心设计思想在于注册中心,因为使用注册中心管理各个服务之间的依赖关系(服务治理)。在任何RPC远程框架中,都会有一个注册中心存放服务地址相关信息(接口地址)。

微服务学习之服务治理、服务注册与发现、Eureka【Hoxton.SR1版】_第1张图片

 

3 Eureka包含两个组件:Eureka Server、Eureka Client

Eureka Server:提供服务注册服务

各个微服务节点通过配置启动后,会在Eureka Server中进行注册,这样Eureka Server的服务注册表将会存储所有可用服务节点的信息,服务节点的信息可以在界面中看到

Eureka Client:通过注册中心进行访问

Eureka Client是一个Java客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内(默认90秒)没有接收到某个节点的心跳,那么Eureka Server将会从服务注册表中移除该服务节点。

4 Eureka Server配置

4.1 pom.xml



    
        cloud2020
        com.bighuan.springcloud
        1.0-SNAPSHOT
    
    4.0.0

    cloud-eureka-server7001


    
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
        
            com.bighuan.springcloud
            cloud-api-commons
            ${project.version}
        
        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            junit
            junit
        
    

4.2 application.yml

server:
  port: 7001

eureka:
  instance:
    hostname: localhost  #eureka服务端的实例名称
  client:
    # false表示不向注册中心注册自己
    register-with-eureka: false
    # false表示自己就是注册中心,职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false
    service-url:
      # 设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

4.3 主启动类

需要通过注解@EnableEurekaServer开启Eureka Server

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

启动,访问:http://localhost:7001/,显示如下页面,说明Eureka Server配置成功。

微服务学习之服务治理、服务注册与发现、Eureka【Hoxton.SR1版】_第2张图片

 

 

 

 

 

 

你可能感兴趣的:(SpringCloud,服务治理,服务注册与发现,Eureka)