SpringCloud组件Eureka(服务注册/服务发现)详解 + 案例的实现

为什么需要这个组件呢,解决什么问题呢?

  当我们写微服务项目的时候,如果一个项目要去获得另一个项目中的对象,那么我们这里可以通过http请求的方式来获取,这里的url是写死的。如果我们的机器变更,那么后续处理这些问题,将会非常的繁琐。这里我们就可以使用的Eureka(注册中心)来解决这个问题。


什么是注册中心


在最初的架构体系中,集群的概念还不那么流行,且机器数量也比较少,此时直接用DNS+Nginx就可以满足几乎所有服务的发现。相关的注册信息直接配置在Nginx。但是随着微服务的流行与流量的激增,机器规模逐渐变大,并且机器会有频繁的上下线行为,这种时候需要运维手动地去维护这个配置信息是⼀个很麻烦的操作。所以开发者们开始希望有这么⼀个东西,它能维护⼀个服务列表,哪个机器上线了,哪个机器宕机了,这些信息都会自动更新到服务列表上,客户端拿到这个列表,直接进行服务调用即可。这个就是注册中心。

注册中心主要有三种角色:

• 服务提供者(Server):⼀次业务中,被其它微服务调用的服务。也就是提供接口给其它微服务。

• 服务消费者(Client):⼀次业务中,调用其它微服务的服务。也就是调⽤其它微服务提供的口。 

• 服务注册中⼼(Registry):用于保存Server的注册信息,当Server节点发生变更时,Registry会同步变更,服务与注册中心使用⼀定机制通信,如果注册中心与某服务长时间无法通信,就会注销该实例。

如图所示:


Eureka介绍


Eureka是Netflix OSS套件中关于服务注册和发现的解决方案。Spring Cloud对Eureka进行了集成,并作为优先推荐方案进行宣传,虽然目前Eureka 2.0已经停止维护,新的微服务架构设计中,也不再建议使用,但是目前依然有用量公司的微服务系统使用Eureka作为注册中心。

Eureka主要分为两个部分:

• Eureka Server:作为注册中心Server端,向微服务应用程序提供服务注册,发现,健康检查等能力。

• Eureka Client:服务提供者,服务启动时,会向Eureka Server注册自己的信息(IP,端口,服务信息等),Eureka Server会存储这些信息。


Eureka的学习,主要包含以下三个部分:

1. 搭建Eureka Server。

2. 将order-service,product-service都注册到Eureka。

3. order-service远程调用时,从Eureka中获取product-service的服务列表,然后进行交互。


搭建项目


先创建好一个maven项目。

添加依赖:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值