• 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 

  • 相关阅读:
    POJ 3009 Curling 2.0 简单DFS 好题
    POJ 3253 Fence Repair 贪心
    python_13 面向对象
    python_12 模块
    python练习题_04
    python_11 装饰器,闭包
    python练习题_03
    python_10 迭代器和生成器
    python_09 文件处理流程,文件操作方法
    python_08 函数式编程、高阶函数、map、filter、reduce函数、内置函数
  • 原文地址:https://www.cnblogs.com/zmeRecord/p/9950053.html
Copyright © 2020-2023  润新知