Spring Cloud Eureka 服务治理--服务注册中心

这篇文章主要介绍如何使用Spring Cloud Eureka来实现服务治理 --服务注册与发现,是一个总结 记录 方便自己记忆。

文章知识 均来自以下系列文章,请参考原文

Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】

eureka server 单节点与多节点部署演示

springcloud(二):注册中心Eureka

服务治理&服务治理框架

服务治理:在微服务架构中,由于一个项目被分成多个微服务,那各个微服务之间可能需要 互相调用。服务治理框架就是解决这个问题。具体包括 服务注册,服务发现,服务调用。

目前有多种服务治理框架,比如:Netflix Eureka、Consul、Zookeeper。

1.Netflix

Netflix是一家美国公司,在美国、加拿大提供互联网随选流媒体播放,定制DVD、蓝光光碟在线出租业务

2. Netflix Eureka

Eureka是Netflix 公司开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery。Eureka由两个组建组成:Eureka Server 和 Eureka Client。Eureka Server作为服务注册功能的服务器,它是服务注册中心,系统维护人员可以通过Eureka Server来监控系统总各个微服务是否正常运行。 Eureka Client就是各个微服务。

3.Spring Cloud 服务治理

Spring Cloud为服务治理做了一层抽象接口,所以在Spring Cloud应用中可以支持多种不同的服务治理框架。并且在Spring Cloud服务治理抽象层的作用下,我们可以无缝切换服务治理实现框架,并不会影响框架的服务注册,服务发现,服务调用等逻辑

4.Spring Cloud Netfilx

Spring Cloud Netfilx是Spring Cloud的子项目之一,主要内容是对Netflix公司的一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。它主要提供的模块包括:服务治理(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。

5.Spring Cloud Netflix Eureka

Spring Cloud Netflix Eureka是Spring Cloud Netflix项目下的服务治理模块。是Spring Cloud 封装了Netflix公司开发的Eureka模块 来实现服务注册和发现。

 

几台服务提供相同服务来做均衡负载;监控服务器调用成功率来做熔断,移除服务列表中的故障点;监控服务调用时间来对不同的服务器设置不同的权重等等

 

使用Spring Cloud Eureka来实现服务治理

1.服务注册:创建服务注册中心

具体代码等没有添加,请参考原文 Spring Cloud构建微服务架构:服务注册与发现(Eureka、Consul)【Dalston版】

step1:创建Spring Boot项目eureka-server,添加 spring-cloud-starter-netflix-eureka-server 起步依赖

step2:在Spring Boot项目入口添加@EnableEurekaServer注解 启动一个服务注册中心提供给其他应用进行对话

step3:修改配置文件 application.properties文件

在默认设置下,该服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为,在application.properties配置文件中增加如下信息:

#设置服务注册中心 微服务的名称和端口
spring.application.name=eureka-server
server.port=1001

eureka.instance.hostname=localhost

#禁用客户端注册行为,防止 该服务注册中心 将自己作为客户端 尝试注册自己
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
View Code
  • eureka.client.register-with-eureka :表示是否将自己注册到Eureka Server,默认为true。
  • eureka.client.fetch-registry :表示是否从Eureka Server获取注册信息,默认为true。

step4:启动工程后,访问:http://localhost:1001/,可以看到Eureka服务注册中心页面,其中还没有发现任何服务。

 

集群

在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态。如果是单点话,遇到故障就是毁灭性的。为了维持其可用性,使用集群是很好的解决方案。Eureka通过互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署。

 

多节点配置

由于我们在一台机器一个工程上模拟多个节点,我们需要给springboot应用配置profiles属性用来标识,并且打包成jar包之后,我们启动指定profiles的应用

修改hosts文件(单机单应用上模拟多节点所需要)C:\Windows\System32\drivers\etc

127.0.0.1 server1
127.0.0.1 server2
127.0.0.1 server3

创建双节点注册中心

1.修改Eureka-server 

 

 

 

 

posted on 2020-07-03 15:10  dreamstar  阅读(161)  评论(0编辑  收藏  举报