为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Cloud服务注册中心简述

标签:
Spring Cloud

概念

当一个大型系统拥有很多服务时,往往需要一个服务注册中心来管理这些服务,它可以提供如下功能:

  • 登记每个服务提供的功能
  • 检测每个服务是否可用,不可用的服务剔除
  • 服务间互相调用时,通过服务注册中心很容易找到目标服务

如下图,商城系统通过服务注册中心管理其中的若干服务:
图片描述

机制

服务注册中心如何实现呢,其实并不复杂,简述如下:

  • 服务注册中心本身也是一个服务应用,可以对外交互,也可以存储运算
  • 系统中每个服务启动时将自身的功能登记到服务注册中心
  • 服务注册中心定时发送心跳,看看登记的服务是不是可用,不可用的就剔除
  • 因为服务注册中心登记了所有服务及其功能,所以每个服务只需要连接到注册中心,就能调用其他所有服务了

Spring Cloud Eureka 实现服务注册中心

Spring Cloud提供了基于Netflix Eureka的服务注册中心实现,可以轻松的实现服务注册中心应有的功能,Spring Cloud Eureka服务注册中心实现过程如下:

1、构建SpringBoot应用,并引入依赖
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka-server</artifactId>
		</dependency>

eureka-server依赖即引入了Eureka服务注册中心,此时我们可以根据项目需求来定制我们自己的服务注册中心了。

2、修改启动类,启动注册中心功能

通过在SpringBoot启动类上添加@EnableEurekaServer注解,就可以启动服务注册中心功能,此时注册中心启动后,可以监听其他服务发送过来的登记请求,并可以通过心跳检测登记服务是否存活。

@SpringBootApplication // 启动SpringBoot应用
@EnableEurekaServer // 启动服务注册中心
public class EurekaServerDemo {
	public static void main(String[] args) {
		SpringApplication.run(EurekaServerDemo.class, args);
	}
}
3、修改注册中心配置

可以通过修改配置文件application.properties,指定注册中心的服务端口等信息。

# 指定注册中心的服务端口
server.port=1001
# 是否向注册中心注册自己,由于我们的注册中心不提供具体服务,所以不必注册自己
eureka.client.register-with-eureka=false
# 是否从注册中心获取其他服务信息,由于我们的注册中心仅提供注册功能,不必调用其他服务,所以不必获取其他服务信息
eureka.client.fetch-registry=false
4、启动服务注册中心

直接运行启动类即可启动服务注册中心,此时我们在浏览器输入http://localhost:1001,可以发现服务注册中心已启动,暂时还没有服务登记到该注册中心。
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件工程师
手记
粉丝
1.5万
获赞与收藏
1523

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消