目录

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远程框架中,都会有一个注册中心存放服务地址相关信息(接口地址)。

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

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2020</artifactId><groupId>com.bighuan.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-eureka-server7001</artifactId><dependencies><!-- Eureka Server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!-- 引入自定义的api通用包 --><dependency><groupId>com.bighuan.springcloud</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies></project>

4.2 application.yml

server:port: 7001eureka:instance:hostname: localhost  #eureka服务端的实例名称client:# false表示不向注册中心注册自己register-with-eureka: false# false表示自己就是注册中心,职责就是维护服务实例,并不需要去检索服务fetch-registry: falseservice-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版】相关推荐

  1. Spring Cloud入门 -- Consul服务注册与发现(Hoxton.SR5版)

    Consul简介 Consul 是 HashiCorp 公司推出的开源产品,用于实现分布式系统的服务发现.服务隔离.服务配置,这些功能中的每一个都可以根据需要单独使用,也可以同时使用所有功能.Cons ...

  2. Spring Cloud入门 -- Eureka服务注册与发现(Hoxton.SR5版)

    什么是Spring Cloud Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.智能路由.消息总 ...

  3. 《深入理解 Spring Cloud 与微服务构建》第六章 服务注册和发现 Eureka

    <深入理解 Spring Cloud 与微服务构建>第六章 服务注册和发现 Eureka 文章目录 <深入理解 Spring Cloud 与微服务构建>第六章 服务注册和发现 ...

  4. 微服务之服务注册与发现--Eureka(附代码)

    微服务之服务注册与发现--Eureka(附代码) 该贴为入门贴,看完可快速知道服务注册与发现是什么?怎么用?至于深入的内容不在此篇文章所述之内,请自行百度. 内容来自:https://blog.csd ...

  5. spring cloud 学习之 服务注册和发现(Eureka)

    一:服务注册和发现(Eureka) 1:采用Eureka作为服务注册和发现组件 2:Eureka 项目中 主要在启动类加上 注解@EnableEurekaServer @SpringBootAppli ...

  6. SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka

    SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本) 原文首发于:https://www.fangzhipeng.com/springcloud/2018/ ...

  7. SpringCloud注册与发现Eureka

    SpringCloud注册于发现Eureka服务学习: 简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中 ...

  8. SpringCloud学习笔记:服务注册与发现Eureka(2)

    1. Eureka简介 Eureka是一个用于服务注册和发现的组件,分为Eureka Server和Eureka Client,Eureka Server为Eureka服务注册中心,Eureka Cl ...

  9. SpringCloud--Eureka服务注册与发现 Eureka 集群搭建 详细案例!!!

    SpringCloud组件--Eureka 完整笔记 一.Eureka基础知识 1.1.什么是服务治理 ? 1.2. 什么是服务注册与发现? 1.3.Eureka两组件:Eureka Server和E ...

  10. SpringCloud(二) 服务注册与发现Eureka

    1.eureka是干什么的? 上篇说了,微服务之间需要互相之间通信,那么通信就需要各种网络信息,我们可以通过使用硬编码的方式来进行通信,但是这种方式显然不合适,不可能说一个微服务的地址发生变动,那么整 ...

最新文章

  1. git pull 默认拉取远端其他分支 问题解决
  2. 一个黑魔法,竟能让Python支持方法重载
  3. [实践篇] Softmax Regression
  4. 告警系统的一些痛点思考
  5. Microsoft SQL Server 存储过程
  6. Android基于讯飞语音SDK实现语音识别
  7. jQuery weui 时间选择器datetimepicker只用年月日
  8. FPGA之道(6)软件编程思路与FPGA编程思路的变革
  9. kdj买卖指标公式源码_通达信一品KDJ波段买卖操作源码免费指标公式
  10. Xshell6复制粘贴快捷设置
  11. 万字攻略,详解腾讯面试
  12. 香橙派 One Plus 像单片机一样硬件寄存器 控制GPIO 点灯
  13. 突然讨厌做前端,讨厌代码_如何安全清洁讨厌的游戏控制器
  14. expert个人版 sqlite_SQLite Expert Personal
  15. [C4W1] Convolutional Neural Networks - Foundations of Convolutional Neural Networks
  16. 跨平台web app教育设备的一些设计标准
  17. 电信2班——第一次作业助教总结
  18. Elasticsearch(ES) 基本知识
  19. 机器学习关键步骤(四)
  20. Angular6笔记(4)

热门文章

  1. Android自动化测试之MonkeyRunner使用
  2. java List 排序 Collections.sort()
  3. WEB网页专业词汇 汇总
  4. 解决Mac下Parallels Desktop的Host-only网络问题
  5. oracle学习的一些网站收藏
  6. .NET简谈特性(代码属性)
  7. 面向对象的JavaScript(1):创建简单的类
  8. springboot里面的porm配置问题
  9. 解决jquery中全选点击第二次不生效的问题与分析
  10. JavaScript JSON.stringify()