Spring Cloud 服务注册与发现(Eureka 找到了!找到了! 嘻嘻)

  记录一下吧,为什么接触分布式。因为裸辞之后没有找到工作,好的公司都要求有分布式经验,但是我完全没有。在一次面试的时候,面试官说如果你会分布式架构的话,我可以把工资给你开高2.5,我就考虑着给我点时间,让我学习这个狗东西。一个月后看学习效果再看我能不能拿到多了2.5的工资,面试官也就答应了。分布式之路就此开始。

  首先分布式的基础应该就是服务的注册和发现了吧,目前只是了解了Eureka作为服务注册和发现的组件,采用Spring Boot(简称SB) 和Spring Cloud(简称SC,后面统一使用简称)。

  服务的注册与发现功能的实现这里采用Eurake组件吧,手写Demo,这里采用父子工程的形式,采用Maven继承(记录一下,现在我对这玩意还不是太理解,后续专门做一篇进行解读)的方式对项目的SB和SC集成和依赖的jar包的版本进行管理。主要依赖的jar包是

spring-cloud-starter-netflix-eureka-server ,包导入完成就在SB项目的主方法添加@EnableEurakeServer 注解 

Eurake组件的后端是没有缓存的,所以注册对象与注册中心之间需要发送心跳,默认情况下

Eurake Server 也是一个Eurake Client,所以必须在配置文件中指定一个server。application.properties

server:
  port: 8889 #注册中心开启的端口

eureka:
  instance:
    hostname: localhost #注册地址
  client:
    registerWithEureka: false  #声明Eurake以server的方式建立
    fetchRegistry: false  
    serviceUrl:  #图形化界面地址
      defaultZone:     http://${eureka.instance.hostname}:${server.port}/eureka/    

这时候启动项目,服务注册中心就创建完成了。

  接下来创建服务提供者,与服务注册中心依赖的jar包基本是一样的,不过这个是以client结尾的

spring-cloud-starter-netflix-eureka-client, 服务提供者与消费者都是 client,注册中心才是 server,这个要搞清楚。

  在启动类上添加@EnableEurekaClient注解实现,在服务提供者服务的配置文件做修改,

1 spring.application.name=config-server #服务名
2 server.port=8888  #服务端口
3 #注册中心地址
4 eureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/

剩下就是在服务上添加对应的请求方法,进行请求发送

http://localhost:8888/hi?name=forezp 

原文地址:https://www.cnblogs.com/zmeRecord/p/9950053.html