Eureka

2019-05-08  本文已影响0人  dwwl

Eureka:

服务注册中心,给客户端提供可供调用的服务列表,客户端在进行远程服务调用时,根据服务列表然后选择服务提供方的服务地址进行服务调用。服务注册中心在分布式系统中大量应用,是分布式系统中不可或缺的组件

服务端:@EnableEurekaServer//标识这是一个Eureka服务

客户端:@EnableDiscoveryClient //标识这是一个Eureka客户端

Feign:

微服务远端调用技术

工作流程:

  1. cms服务将自己注册到注册中心
  2. 课程管理服务从注册中心获取cms服务的地址
  3. 课程管理服务远端调用cms服务
@FeignClient(value = XcServiceList.XC_SERVICE_MANAGE_CMS)
public interface CmsPageClient {
@GetMapping("/cms/page/get/{id}")
public CmsPage findById(@PathVariable("id") String id);
}

工作原理:

1、 启动类添加@EnableFeignClients注解,Spring会扫描标记了@FeignClient注解的接口,并生成此接口的代理
对象
2、 @FeignClient(value = XcServiceList.XC_SERVICE_MANAGE_CMS)即指定了cms的服务名称,Feign会从注册中
心获取cms服务列表,并通过负载均衡算法进行服务调用。
3、在接口方法 中使用注解@GetMapping("/cms/page/get/{id}"),指定调用的url,Feign将根据url进行远程调
用。

Ribbon:

负载均衡是微服务架构必须使用的技术,通过负载均衡来实现系统的高可用/集群扩容等功能。

负载均衡的算法由轮训 随机 加权轮训等

在启动类中配置RestTemplate:@LoadBalanced

@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate(new OkHttp3ClientHttpRequestFactory());
}
上一篇 下一篇

猜你喜欢

热点阅读