SpringCloud的EurekaClient : 客户端应用访问注册的微服务(无断路器场景)
演示客户端应用如何访问注册在EurekaServer里的微服务
一、概念和定义
采用Ribbon或Feign方式访问注册到EurekaServer中的微服务。
1、Ribbon实现了客户端负载均衡,
2、Feign底层调用Ribbon
3、注册在EurekaServer中的微服务api,不通过ip访问,而是通过ServiceId访问
其中ServiceId即配置项spring.application.name标识的注册到EurekaServer中的名称。
使用Feign/Ribbon客户端访问微服务的api,如:
http://ServiceHelloA/HelloA?name=tom
http://ServiceHelloB/HelloB?name=Jerry
说明客户端负载均衡Ribbon解释了ServiceHelloA映射的ip+端口.
二、开发案例
1、Ribbon服务代码
@Service
public class HelloARibbonService {
@Autowired
RestTemplate restTemplate;
public String visitHelloA(String name) {
return restTemplate.getForObject("http://SERVICEHELLOA/HelloA?name="+name,String.class);
}
}
2、Feign服务代码
@FeignClient(value = "SERVICEHELLOA")
public interface HelloAFeignService {
@RequestMapping(value = "/HelloA",method = RequestMethod.GET)
String visitHelloA(@RequestParam(value = "name") String name);
}
三、案例说明
1、通过Ribbon访问HelloA
http://localhost:8301/HelloARibbon?name=lexiaofei


2、通过Feign访问HelloA
http://localhost:8321/HelloAFeign?name=liangshengqi


发现服务端调用是在8201 和 8202之间负载均衡的。
四、代码下载
https://github.com/lexiaofei/workspace_SpringRibbonFeign.git
SpringCloud的EurekaClient : 客户端应用访问注册的微服务(无断路器场景)的更多相关文章
- SpringCloud的EurekaClient : 客户端应用访问注册的微服务(有断路器场景)
演示客户端应用如何访问注册在EurekaServer里的微服务 一.概念和定义 采用Ribbon或Feign方式访问注册到EurekaServer中的微服务.1.Ribbon实现了客户端负载均衡,2. ...
- SpringCloud的服务消费者 (一):(rest+ribbon)访问注册的微服务
采用Ribbon或Feign方式访问注册到EurekaServer中的微服务.1.Ribbon实现了客户端负载均衡,Feign底层调用Ribbon2.注册在EurekaServer中的微服务api,不 ...
- SpringCloud的服务消费者 (二):(rest+feign/ribbon)声明式访问注册的微服务
采用Ribbon或Feign方式访问注册到EurekaServer中的微服务.1.Ribbon实现了客户端负载均衡,Feign底层调用Ribbon2.注册在EurekaServer中的微服务api,不 ...
- SpringCloud与微服务Ⅷ --- Hystrix断路器
复杂的分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败. 服务雪崩 多个微服务之间调用的时候,假设微服务调用服务B和微服务C,微服务B和微服务C又调用其他服务,这就是 ...
- SpringCloud学习笔记(三):Rest微服务构建案例工程模块
需要具备的知识 1 springmvc+mybatis+mysql 2 Consumer消费者(Client)通过REST调用Provider提供者(Server)提供的服务 3 Maven的分包分模 ...
- 学习一下 SpringCloud (一)-- 从单体架构到微服务架构、代码拆分(maven 聚合)
一.架构演变 1.系统架构.集群.分布式系统 简单理解 (1)什么是系统架构? [什么是系统架构?] 系统架构 描述了 在应用程序内部,如何根据 业务.技术.灵活性.可扩展性.可维护性 等因素,将系统 ...
- 怎样从外网访问内网微服务Microservices?
本地部署了一个微服务,只能在局域网内访问,怎样从外网也能访问到本地的微服务呢?本文将介绍具体的实现步骤. 准备工作 部署并启动微服务程序 默认部署的微服务端口是8088. 实现步骤 下载并解压hole ...
- Spring-cloud微服务实战【一】:微服务的概念与演进过程
本文是一个系列文章,主要讲述使用spring-cloud进行微服务开发的实战.在开始之前,我们先说一下从传统的单一部署架构到微服务的发展过程,以便让童鞋们更好的理解微服务的概念与演进过程. 1.单体架 ...
- 【Azure微服务 Service Fabric 】Service Fabric中应用开启外部访问端口及微服务之间通过反向代理端口访问问题
问题描述 1) 当成功的在Service Fabric集群中部署了应用后,如何来访问呢?如果是一个Web服务,它的URL又是什么呢? 2) 当Service Fabric集群中,服务之间如需要相互访问 ...
随机推荐
- 前端div层级控制
z-index:20000;使用此属性可以控制div的层级即哪个在上哪个在下
- Intellij IDEA查看所有断点
项目中打的断点太多,有时自己也想不到打在哪里了,也不知道哪些方法.哪些代码行上打了断点,在IDEA中如何查看所有断点呢? 方法如下: step 1 IDEA的debug面板中有一个名称为View Br ...
- Beagle X15 版本制作和烧录
作为一大硬件开源组织中的一员,Beagle X15以他的强悍的性能在工业界有着广泛的应用,最近在做一个项目中 要用到它,就做了一些这方便的研究,发现里面还有不少坑要踩的,梳理一下踩到的坑,为后续做个积 ...
- python 全栈开发,Day4
python之文件操作 一.文件操作基本流程 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到 ...
- jQuery中有关mouse的事件--mousedown/up/enter/leave/over/out----2017-05-10
mousedown:鼠标按下才发生 mouseup:鼠标按下松开时才发生 mouseenter和mouseleave效果和mouseover mouseout效果差不多:但存在区别,区别见代码解析: ...
- guava cache使用和源码分析
guava cache的优点和使用场景,用来判断业务中是否适合使用此缓存 介绍常用的方法,并给出示例,作为使用的参考 深入解读源码. guava简介 guava cache是一个本地缓存.有以下优点: ...
- Java 小记 — Spring Boot 注解
前言 本篇随笔将对 Spring Boot 中的常用注解做一个简单的整理归档,写作顺序将从启动类开始并逐步向内外扩展,目的即为了分享也为了方便自己日后的回顾与查阅. 1. Application 启动 ...
- fail2ban防止SSH暴力破解
[root@kazihuo /srv]# wget https://github.com/fail2ban/fail2ban/archive/0.8.14.tar.gz [root@kazihuo / ...
- Oracle安装11.2.0.4.180116补丁及如何检查数据库安装补丁
最近做了一个安装11.2.0.4.180116补丁的实验,突然想起之前和同事讨论的一个问题:如何检查数据库安装补丁的版本,之前搜到的是去查dba_registry_history,有的说在操作系统中执 ...
- phpcms v9 列表页直接下载功能代码实现
{pc:content action="lists" catid="$catid" num="3" order="id DESC& ...