@EnableEurekaServer:提供服务注册的功能,各个节点启动之后,会在Eureka Server中注册,这样Eureaka Server就有了所有节点的信息
@EnableEurekaClient:让该服务注册到注册中心
@EnableDiscoveryClient 、@EnableEurekaClient 的异同点:
- 都可以让该服务注册到注册中心上去
- @EnableEurekaClient只支持Eureka注册中心,@EnableDiscoveryClient支持Eureka、Zookeeper、Consul这三个注册中心
服务发现的两种方式:
- 客户端发现 Eureka
- 服务端发现 Nginx Zookeeper Kubernetes
微服务的特点:异构
- 不同语言
- 不同的数据库
SpringCloud的服务调用方式:REST API
Ribbon
- 服务发现(ServerList):依据服务的名字,把该服务下所有的实例都找出来
- 服务发现规则(IRule):如何从多个服务中发现有效的服务
- 服务监听(ServerListFilter):检测失效的服务,高效剔除
首先通过serverList获取所有的可用服务列表,然后serverLIstFilter过滤到一部分结果,最后剩下的地址中选择择一个实例最为最终目标结果
Feign
- 声明式REST客户端(伪RPC)
- 才用了基于接口的注解
- 内部使用了ribbon做负载均衡
Config
/{name}-{profiles}.yml
/{label}/{name}-{profiles}.yml
name 服务名
profiles 环境
label 分支(branch)