springcloud实现服务与注册

SpringCloud 简介

spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具,它为基于 JVM 的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

微服务

微服务是一种可以让软件职责单一、松耦合、自包含、可以独立运行和部署的架构思想。关键思想就是:拆分、单一、独立、组件化。把原本一个庞大、复杂的项目按业务边界拆分一个一个独立运行的小项目,通过接口的方式组装成一个大的项目。

SpringCloud 核心组件有

服务注册发现 - Netflix Eureka
配置中心 - spring cloud config
负载均衡-Netflix Ribbon
断路器 - Netflix Hystrix
路由(网关) - Netflix Zuul

服务在发布时指定对应的服务名 将服务注册到注册中心
在main方法添加@EnableDisscoveryClient
同一个服务修改端口就可以启动多个实例
调用方法:传递服务名称通过注册中心获取所有的可用实例 通过负载均衡策略调用(ribbon和feign)对应的服务

搭建服务注册中心服务注册中心


加入cloud Discovery栏添加Eureka Server组件
在启动类修改EurekaServerApplication.java,添加@EnableEurekaServer
在默认情况下,服务注册中心也会把自己当做是一个服务,将自己注册进服务注册中心,所以我们可以通过配置来禁用他的客户端注册行为,修改application.properties文件(服务器和客户端都采用properties格式,最好不要更改为yml)

server:
  port: 18761
server.port=1111
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}

#不注册自己
eureka.client.register-with-eureka=false
#避免eureka查找服务列表
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://localhost:${server.port}/eureka/

启动应用,并访问http://localhost:1111/即可看到Eureka信息面板

在这里插入图片描述

创建并注册服务提供者 Eureka Client

在这里插入图片描述
在这里插入图片描述
选择Web组件或者其它能够持久运行的。不然会注册失败

启动类EurekaClientApplication.java添加@EnableDiscoveryClient注解以实现Eureka中的DiscoveryClient实现。
修改配置文件application.properties(其他的文章当中会用到yml的格式,但还是建议用properties,避免出现其他的坑)

spring.application.name=ribbon-consumer
server.port=3333
#eureka.client.service-url.default-zone写法报错
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}

先启动:eureka-server
然后启动eureka-client
访问:http://localhost:1111
发现多了一个RIBBON-CONSUMER,说明注册成功了
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值