微服务学习之服务治理、服务注册与发现、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远程框架中,都会有一个注册中心存放服务地址相关信息(接口地址)。
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版】相关推荐
- Spring Cloud入门 -- Consul服务注册与发现(Hoxton.SR5版)
Consul简介 Consul 是 HashiCorp 公司推出的开源产品,用于实现分布式系统的服务发现.服务隔离.服务配置,这些功能中的每一个都可以根据需要单独使用,也可以同时使用所有功能.Cons ...
- Spring Cloud入门 -- Eureka服务注册与发现(Hoxton.SR5版)
什么是Spring Cloud Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.智能路由.消息总 ...
- 《深入理解 Spring Cloud 与微服务构建》第六章 服务注册和发现 Eureka
<深入理解 Spring Cloud 与微服务构建>第六章 服务注册和发现 Eureka 文章目录 <深入理解 Spring Cloud 与微服务构建>第六章 服务注册和发现 ...
- 微服务之服务注册与发现--Eureka(附代码)
微服务之服务注册与发现--Eureka(附代码) 该贴为入门贴,看完可快速知道服务注册与发现是什么?怎么用?至于深入的内容不在此篇文章所述之内,请自行百度. 内容来自:https://blog.csd ...
- spring cloud 学习之 服务注册和发现(Eureka)
一:服务注册和发现(Eureka) 1:采用Eureka作为服务注册和发现组件 2:Eureka 项目中 主要在启动类加上 注解@EnableEurekaServer @SpringBootAppli ...
- SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka
SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本) 原文首发于:https://www.fangzhipeng.com/springcloud/2018/ ...
- SpringCloud注册与发现Eureka
SpringCloud注册于发现Eureka服务学习: 简介 Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中 ...
- SpringCloud学习笔记:服务注册与发现Eureka(2)
1. Eureka简介 Eureka是一个用于服务注册和发现的组件,分为Eureka Server和Eureka Client,Eureka Server为Eureka服务注册中心,Eureka Cl ...
- SpringCloud--Eureka服务注册与发现 Eureka 集群搭建 详细案例!!!
SpringCloud组件--Eureka 完整笔记 一.Eureka基础知识 1.1.什么是服务治理 ? 1.2. 什么是服务注册与发现? 1.3.Eureka两组件:Eureka Server和E ...
- SpringCloud(二) 服务注册与发现Eureka
1.eureka是干什么的? 上篇说了,微服务之间需要互相之间通信,那么通信就需要各种网络信息,我们可以通过使用硬编码的方式来进行通信,但是这种方式显然不合适,不可能说一个微服务的地址发生变动,那么整 ...
最新文章
- git pull 默认拉取远端其他分支 问题解决
- 一个黑魔法,竟能让Python支持方法重载
- [实践篇] Softmax Regression
- 告警系统的一些痛点思考
- Microsoft SQL Server 存储过程
- Android基于讯飞语音SDK实现语音识别
- jQuery weui 时间选择器datetimepicker只用年月日
- FPGA之道(6)软件编程思路与FPGA编程思路的变革
- kdj买卖指标公式源码_通达信一品KDJ波段买卖操作源码免费指标公式
- Xshell6复制粘贴快捷设置
- 万字攻略,详解腾讯面试
- 香橙派 One Plus 像单片机一样硬件寄存器 控制GPIO 点灯
- 突然讨厌做前端,讨厌代码_如何安全清洁讨厌的游戏控制器
- expert个人版 sqlite_SQLite Expert Personal
- [C4W1] Convolutional Neural Networks - Foundations of Convolutional Neural Networks
- 跨平台web app教育设备的一些设计标准
- 电信2班——第一次作业助教总结
- Elasticsearch(ES) 基本知识
- 机器学习关键步骤(四)
- Angular6笔记(4)