

spring-cloud之注册中心eureka
source link: https://blog.luhuancheng.com/2019/03/29/spring-cloud之注册中心eureka/?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在传统的应用架构里,一般通过nginx的反向代理来对外暴露后端服务,来支持负载均衡、高可用。用过的人都懂,一旦部署的后端服务更换了服务器或者端口,都需要我们修改nginx的配置。当然在传统的应用架构里边,这个无可厚非,毕竟服务数量不多,而且变动不频繁。但是来到了微服务架构后,可能就涉及到几十个以上的服务了。每个服务都需要进行类似的配置方式,这样不便于管理、而且容易出错。
spring-cloud中提供了eureka注册中心,为我们解决了以上的问题。服务提供者只需要在启动时,将自身的信息注册到eureka中,eureka会返回注册到其上的服务列表,并维持心跳;当服务有变动时,通过事件通知机制告知客户端(即注册到eureka上的服务)刷新服务列表。这样我们就可以借助eureka来取缔nginx,而且无需维护反向代理的配置。

使用eureka集群
由于eureka没有后端存储,所有服务数据都处于内存中。因此在生产环境中,需要使用eureka集群。一般有三个节点,两两互相注册,互相同步服务数据,以此保证高可用。
配置
```yaml --- spring: profiles: peer1 application: name: eureka-server server: port: 8761 eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://peer1:8761/eureka/,http://peer2:8761/eureka/,http://peer3:8761/eureka/ instance: prefer-ip-address: true # 以ip地址注册,默认为主机名 --- spring: profiles: peer2 application: name: eureka-server server: port: 8762 eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://peer1:8761/eureka/,http://peer2:8761/eureka/,http://peer3:8761/eureka/ instance: prefer-ip-address: true # 以ip地址注册,默认为主机名 --- spring: profiles: peer3 application: name: eureka-server server: port: 8763 eureka: client: register-with-eureka: true fetch-registry: true service-url: defaultZone: http://peer1:8761/eureka/,http://peer2:8761/eureka/,http://peer3:8761/eureka/ instance: prefer-ip-address: true # 以ip地址注册,默认为主机名
服务注册与发现
服务发现是基于微服务的体系结构的关键原则之一,spring cloud是如何做到服务注册和发现的呢?
当服务启动时,eureka客户端(即配置了注册eureka的服务)向eureka集群服务提供元数据(host、port、health indicator url、home page etc.)将自身注册到eureka集群中。而且eureka集群会收到来自每个服务的心跳信息,如果心跳超过了配置的时间未刷新,那么这个服务实例就会从服务注册表中删除,并通知其他eureka客户端。
Recommend
-
33
服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串、路由信息等。服务注册中心是微服务架构中最基础的设施之一。 在微服务架构流行之前,注册中心就已经开始出现...
-
8
高可用的服务注册中心:Eureka 集群搭建 , 并使用Spring Security 为 Eureka 增加 Basic 安全认证机制上一篇 Spring Cloud 项目的搭建文章 : 链接再说下我的版本号 , 用...
-
14
Spring Cloud之Finchley版学习(六)-服务注册与服务发现-Eureka深入 作者: wencst 分类: JAVA,
-
9
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
-
8
Spring Cloud之Finchley版学习(五)-服务注册与服务发现-Eureka学习 作者: wencst 分类: JAVA,
-
9
0、前言 最近在进行重构一个新项目,为了后续更好的落地,适应于日新月异的技术更新,进行了各方的技术选型及技术预研,最终选型基于微服务架构体系进行开发重构。项目构建前最重要的一步就是要想清楚,整体的部署架构、高可用性(HA)等等,...
-
6
Spring Cloud Eureka源码分析之服务注册的流程与数据存储设计!Spring Cloud是一个生态,...
-
8
Spring Cloud源码分析之Eureka第六章:服务注册 推荐 原创 欢迎访问我的GitHub ...
-
7
springcloud - 注册中心eureka - 李庆丰的博客 | Lee Blog [TOC] 今天主要就来说说怎么不使...
-
2
Eureka核心功能点 【1】服务注册(register):Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如ip地址、端口、运行状况指标的url、主页地址等信息。Eureka Server接收到注册请求后,就会把这...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK