Spring Cloud之Eureka

Spring Cloud 服务注册与发现

我又来更新了,今天开始正式代码部分,当然,是结合代码和解释,让大家对Spring Cloud有一个更深刻的认识,而且还不会因为长篇大论的理论而烦躁,好了,废话不多说,直接开撸

什么是服务注册与发现?

首先,大家需要知道,微服务是因为什么而诞生的呢?第一章已经说过,这里就简单复述一次,随着业务的发展,用户量急剧增长,单体式架构已经支撑不了了,所以微服务架构应时而生,但是微服务架构的出现也带来了许多不便(具体的请看上一章),比如,一个项目拆分成会员项目和订单项目,会员项目和订单项目又是集群部署,两个项目之间通过Http远程调用,只是单纯的两个项目还好办,但是一旦项目多了呢,项目复杂,拆分的多,很难人为的管理这些接口把,程序员不仅要写代码,还要记一堆ip,端口号,还容易调用错了,项目没怎么写的,找错找了一天,所以,就在这个时候!我们的服务注册与发现出现了!
Spring Cloud之Eureka
通过上述的描述,以及上面的图,大家应该就能比较清醒的了解服务注册与发现到底是个什么东西了吧,生产者启动的时候,会向注册中心注册,消费者启动的时候也会像注册中心注册,然后消费者要调用生产者的方法的时候,需要告诉注册中心,然后由注册中心分配给消费者一个合适的生产者,然后生产者去调用消费者的方法,这就好比我们去饭店吃饭,然后我们点菜或者要餐巾纸什么的,我们就会说:老板,点餐;老板,拿点餐巾纸。这时候老板就会看哪个员工空闲,然后就会告诉那个员工:你去xx号桌给顾客拿xx。没错,吃饭的客人就是消费者,老板或者经理什么的就是注册中心,员工就是生产者。所以,这下应该对注册中心有一个清醒的概念了。

关系调用说明:

  • 服务生产者启动时,向服务注册中心注册自己提供的服务
  • 服务消费者启动时,在服务注册中心订阅自己所需要的服务
  • 注册中心返回服务提供者的地址信息个消费者
  • 消费者从提供者中调用服务

Eureka又是什么呢?

Eureka是注册中心的一种,Spring Cloud支持的注册中心有很多,Eureka,Zookeeper,Consul,比较常用的还是Eureka,Eureka是Netflix开发的服务发现框架,但是经过Spring Cloud这么一整合,就可以和Spring Boot构建的微服务很容易的整合起来,话不多说,撸代码

1.打开IDEA,构建Spring Boot项目

Spring Cloud之Eureka勾选Eureka Server,建完项目之后
Spring Cloud之Eureka在启动类里加上@EnableEurekaServer的注解,意思表示开启Eureka服务,然后再写配置文件
Spring Cloud之Eureka这里我用的是yml.
server.port:指定一个端口号
spring.application.name:给这个服务指定一个名字
eureka.instance.hostname:主机端口
eureka.client.register-with.eureka=false,fetcch-registry=false:让他不要注册自己,因为注册中心自己也算一个客户端,也会注册自己
service-url.default-zone:设置注册中心的URL

OK!注册中心已经配置完成了,现在去启动项目访问localhost:8761,就可以看到注册中心页面
Spring Cloud之Eureka