Spring-Cloud 从0开始(二) Eureka-Client
前奏
上一篇中我们理解了微服务的基本概念 && Eureka-Server集群的搭建. 当然,有了服务注册中心还远远不够,我们还得有服务消费者,这样服务注册才有存在的价值,在Spring-Cloud中我们称消费者为Eureka-Client.好了,让我们愉快的撸起代码~
搭建服务消费者Project
创建Spring项目
填写maven坐标
注意:因为我们是Eureka-Client端,勾选Discovery(词典中语义为:发现,发觉)
我们创建好项目之后因为要以web形式运行,所以我们还需要添加spring-boot-web包依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
复制代码
- 和Eureka-Server一样,作为Eureka-Client的客户端我们需要在启动类上标注@EnableDiscoveryClient 注解, 标识为Client
@SpringBootApplication
@EnableDiscoveryClient
public class EurekaClientApplication {public static void main(String[] args) {SpringApplication.run(EurekaClientApplication.class, args);}
}
复制代码
- 配置Eureka-Client,这里我们Cient的名字起为order(以下配置内容已经在Eureka-Server中说过, 这里不再累赘)
eureka:client:service-url:defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/server:port: 8090spring:application:name: order
复制代码
启动项目观察日志, 204表示已经注册:
访问注册中心localhost:8761, 发现订单服务已经注册上来
图解注册中心
- 在没有注册中心的时候我们服务A调用服务B需要直接连接Ip去调用或者通过Proxy, 但是我们的服务会不断的扩容 && 缩减或者服务下线(比如图中灰色的服务B),这时候就需要我们手动去扩缩绒或者下线服务
- 有了注册中心之后我们的调用的关系发生了转变, 图中红色箭头,服务B只需要将自己 己注册到服务中心,并且有心跳检测,当服务A需要调用服务B时只需要从注册中心去查找即可, 这样服务B的扩缩容 || 服务下线,注册中心会感知到,这样服务A调用服务B的时候就会只从存活的服务B中查找并且调用
- 当服务A拿到了服务B可用列表之后,就会采用一个负载均衡策略进行查找服务调用,在服务发现中一般有两种机制,1) 客户端发现,Spring-Cloud Ribbon 就是采用客户端发现机制,后续在Spring-Cloud Ribbon文章中会说到 2)服务端发现, 比如我们的代理Proxy, Nginx...
总结
- Eureka-Server && Eureka-Client之间存在心跳检查来观察Eureka-Client是否还存活
- 注册中心Server往往是服务中比较重要的部分, 所以我们需要高可用, 生产尽量两台以上
- Spring-Cloud Eureka 是客户端发现机制, 服务端发现机制有Nginx, Zookeeper等
结尾
好了, Spring Cloud 注册中心我们已经完成,下一节来学习Spring-Cloud Feign
转载于:https://juejin.im/post/5c3c8440f265da614b1234ce
Spring-Cloud 从0开始(二) Eureka-Client相关推荐
- Spring Cloud 2022.0.0 M1 发布:需Java 17、兼容Spring Boot 3
各位小伙伴们,复工第一天,DD祝大家新年快乐!这个新年真的是好好休息了一下,文章也没有更,新闻也没怎么看.所以,新年第一篇就先带大家一起回顾下春节期间的一些新动态.从Spring官方信息看,这几天主要 ...
- Spring Cloud 2020.0.5 发布
来源 | 公众号「Java架构日记」 Spring Cloud 2020.0.5 正式发布,这是错误修正版本.兼容 Spring Boot 2.4.x and 2.5.x, 不支持 2.6.x (请使 ...
- Spring Cloud 2020.0.0 正式发布,对开发者来说意味着什么?
作者 | YourBatman 在线教育领域资深架构师,Spring Framework 开源贡献者 冷冷 云集架构师.开源项目 pig 负责人.Spring Cloud Alibaba Commit ...
- Spring Cloud源码分析之Eureka篇第三章:EnableDiscoveryClient与EnableEurekaClient的区别(Edgware版本)
在基于SpringCloud做开发的时候,EnableDiscoveryClient和EnableEurekaClient这两个注解我们并不陌生,今天就来聊聊它们的区别,和网上更早期的类似文章不同的是 ...
- Spring Cloud 2020.0.4 发布!
作者 | 冷冷 来源 | https://mp.weixin.qq.com/s/ugyP_6s8XJxLk_2L9e_8PA Spring Cloud 2020.0.4 正式发布,这是错误修正版本.兼 ...
- 极客日报第 37 期:苹果官网出现价格 Bug;大众 CEO点评“苹果造车”;Spring Cloud 2020.0 正式发布
文章目录 一.互联网快讯 二.程序员专属 三.Github 每日精选 四.CSDN 社区优质博文精选 一.互联网快讯 1.阿里云量子模拟平台"太章 2.0"正式开源 阿里巴巴发布阿 ...
- Spring Cloud 2021.0.1 发布
来源:JAVA架构日记 Spring Cloud 2021.0.1 正式发布,这是 Spring Cloud 2021 的第一个错误修正版本. 支持 2021.0.0 平稳升级 目前已经可以从中央仓库 ...
- springcloud分布式事务_Spring Cloud学习资源一网打尽!Awesome Spring Cloud v1.0
公正.公平.尊重原创.不夹带私人恩怨的Spring Cloud学习资源列表. TIPS: •本文链接较多,为了更好的阅读体验,建议翻到文章末尾,点击"扩展链接",排版相对好很多. ...
- Spring Cloud 2022.0.0正式发布:OpenFeign稳得很全面迈向GraalVM
本文已被https://yourbatman.cn收录:女娲Knife-Initializr工程可公开访问啦:程序员专用网盘https://wangpan.yourbatman.cn:技术专栏源代码大 ...
- 【方向盘】Spring Cloud 2021.0.0正式发布,FeignClient调用结果可一键缓存
盛年不重来,一日难再晨. 本文已被https://yourbatman.cn收录:女娲Knife-Initializr工程可公开访问啦:程序员专用网盘https://wangpan.yourbatma ...
最新文章
- 七基于Fourinone实现MQ demo
- find命令以及管道的简单使用技巧
- 提升 Node.js 应用性能的 5 个技巧
- windows下flink示例程序的执行
- 第8章4节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动 8
- 辩论计算机未来不能取代书本的问题,电脑不能取代书本辩论会材料.doc
- kafka 同步提交 异步_详解Kafka设计架构核心——Kafka副本机制详解
- 一、TensorFlow的简介和安装和一些基本概念
- 80X86CPU独立编址方式的两种寻址方式——直接寻址直接写和间接寻址DX
- 原来蒋先生才是中国互联网启蒙第一人!
- docker常用功能操作记录5
- MySQL卸载干净检查_MySQL数据库卸载干净处理
- Snort 中文手册
- 任正非,马云,马化腾:真正顶级厉害的人,都有一个共同特点
- androidx指纹验证
- 高等数学基础06:方向导数
- MATLAB拟合函数使用说明
- proxmark3模拟amiibo速通
- [附源码]计算机毕业设计JAVA校园超市进销存管理系统
- python聊天小程序支持私聊和多人_Python实现多人在线匿名聊天的小程序