前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Eureka实现相互注册

Eureka实现相互注册

作者头像
润森
发布2020-03-26 11:09:23
1.1K0
发布2020-03-26 11:09:23
举报
文章被收录于专栏:毛利学Python

Eureka

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

Eureka包含两个组件:Eureka Server和Eureka Client。

  • Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
  • Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。

第一个Eureka项目

我们创建一个SpringBoot项目,这里我命名其为eureka

我们只需要添加eureka-server配置依赖就可以了

项目创建成功后,我们只需要添加一行语句@EnableEurekaServer来启动我们的eureka项目

代码语言:javascript
复制
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}

我们在配置文件application.properties添加一下配置

代码语言:javascript
复制
# 当前项目服务的名字
spring.application.name=eureka
# 服务端口号
server.port=1111
# Eureka-server有两个角色,第一个是注册中心,第二个是服务中心
# register-with-eureka=false表示当前项目不要注册到在注册中心中注册
eureka.client.register-with-eureka=false
# 不需要在Eureka-server获取注册信息
eureka.client.fetch-registry=false

配置完成后,我们直接跑Eureka项目

访问127.0.0.1:1111

Eureka窗口界面配置如下

Eureka集群

当注册中心扛不住高并发的时候,这时候 要用集群来扛;

Eureka集群和elasticsearch集群,hadoop集群一个意思,就是启功多个Eureka实例,多个Eureka实例之间,相互注册,相互同步数据。

开启eureka-server注意点

踩坑之一:在Windows系统开启eureka-server,路径:C:\Windows\System32\drivers\etc\hosts

代码语言:javascript
复制
127.0.0.1 eurekaA eurekaB

我们用两个eureka注册中心,搭建eureka集群

我们只需要在resources目录下,添加两个配置文件,分背是application-a.properties和application-b.properties

application-a.properties

代码语言:javascript
复制
spring.application.name=eureka
server.port=1111
eureka.instance.hostname=eurekaA
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defeaultZone=http://eurekaB:1112/eureka

application-b.properties

代码语言:javascript
复制
spring.application.name=eureka
server.port=1112
eureka.instance.hostname=eurekaB
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=true
eureka.client.service-url.defeaultZone=http://eurekaA:1111/eureka

我们对当前Eureka项目进行打包

我们在命令行通过Java -jar 运行jar,并指定 --spring.profiles.active

代码语言:javascript
复制
java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=a

java -jar eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=b

我们访问127.0.0.1:1111和127.0.0.1:1112,EurekaA和EurekaB成功相互注册

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小刘IT教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Eureka
  • 第一个Eureka项目
  • Eureka集群
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档