spring-cloud-2.x(服务消费者)

一、新建项目springcloud-consumer,复制springcloud-provider,修改名称为springcloud-provider-02(端口8082),springcloud-provider-03(端口8083)

二、负载均衡

a. ribbon负载均衡

pom.xml

<!-- ribbon --><dependency>   <groupId>org.springframework.cloud</groupId>   <artifactId>spring-cloud-starter-ribbon</artifactId>   <version>1.4.0.RELEASE</version></dependency>

配置文件
server:  port: 82

spring:  application:    name: ribbon-consumer
eureka:  instance:      hostname: 192.168.0.230      port: 8761  client:    service-url:      default-zone: http://${eureka.instance.hostname}:${eureka.instance.port}/eureka/

启动类
@SpringBootApplicationpublic class RibbonApplication {

/**    * 开启负载均衡    * @LoadBalanced    * @return    */   @LoadBalanced   @Bean   RestTemplate restTemplate() {      return new RestTemplate();   }}

创建访问类

@RestController
public class RibbonController {

@Autowired private RestTemplate restTemplate;
/** * 指定调用服务提供者(eureka-provider-dev) */
 @RequestMapping(value = "/ribbon") public String hello() {     return restTemplate.getForEntity("http://eureka-provider-dev/", String.class).getBody(); }

}
测试

访问消费者接口 http://192.168.0.230:82/ribbon

ribbon负载均衡处理成功

b.fiegn负载均衡

pom.xml

<!-- feign --><dependency>   <groupId>org.springframework.cloud</groupId>   <artifactId>spring-cloud-starter-openfeign</artifactId>   <version>2.0.0.RELEASE</version></dependency>

配置文件

server:  port: 81

spring:  application:    name: feign-consumer

eureka:  instance:      hostname: 192.168.0.230      port: 8761  client:    service-url:      default-zone: http://${eureka.instance.hostname}:${eureka.instance.port}/eureka/

启动类

@EnableFeignClients  //声明feign客户端

@SpringBootApplication
public class FeignConsumerApplication {

public static void main(String[] args) {        SpringApplication.run(FeignConsumerApplication.class, args);    }}

创建feign接口

/** * 指定调用服务提供者(eureka-provider-dev) */@FeignClient("eureka-provider-dev")public interface FeignConsumer {
  /**   * 访问服务提供者方法   * @return   */    @RequestMapping("/")
    String writePort();

}

创建访问类

@RestControllerpublic class FeignController {

@Autowired    private FeignConsumer feignConsumer;
    @RequestMapping(value = "/feign")    public String hello() {        return  feignConsumer.writePort();    }

}

测试

启动成功,注册中心收到信号

访问消费者接口 http://192.168.0.230:81/feign

feign负载均衡处理成功

c.eureka负载均衡

配置文件
server:  port: 80
启动类
@SpringBootApplicationpublic class EurekaConsumerApplication {

public static void main(String[] args) {        SpringApplication.run(RibbonApplication.class, args);    }

}
创建访问类@RestControllerpublic class EurekaController {

@Autowired    private EurekaClient client;

@RequestMapping("/")    public String hello() {        InstanceInfo instanceInfo = client.getNextServerFromEureka("eureka-provider-dev", false);        return instanceInfo.getHomePageUrl();    }

}
测试

eureka负载均衡处理成功



原文地址:https://www.cnblogs.com/hl201211/p/10254399.html

时间: 01-11

spring-cloud-2.x(服务消费者)的相关文章

Spring Cloud构建微服务架构(四)分布式配置中心

Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持.配置服务器为各应用的所有环境提供了一个中心化的外部配置.它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用.作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为这些环境创建配置,并且在需要迁移环境的时候获取对应环境的配置来运行. 配置服务器默认采用git来存储

Spring Cloud构建微服务架构(二)服务消费者

Ribbon Ribbon是一个基于HTTP和TCP客户端的负载均衡器.Feign中也使用Ribbon,后续会介绍Feign的使用. Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用. 当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerList重写,扩展成从Eureka注册中心中获取服务端列表.同时它也会用NIWSDiscoveryPing来取代IPing,它

基于Spring Cloud的微服务构建学习-3 服务治理-Spring Cloud Eureka之高可用注册中心

什么叫高可用 高可用一般指服务的冗余,一个服务挂了,可以自动切换到另一个服务上,不会影响到客户体验. 高可用注册中心 在微服务架构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须对各个组件进行高可用部署,对于微服务如此,对于服务中心也一样. Eureka Server的设计一开始就考虑了高可用问题,在Eureka的服务治理设计中,所有节点既是服务提供方,也是服务消费方,服务注册中心也不例外.在前一篇随笔中用到过这样的配置: eureka.client.register-w

Spring Cloud构建微服务架构(五)服务网关

通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了.比如下图所示: alt 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现:而服务间通过Ribbon或Feign实现服务的消费以及均衡负载:通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理.为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延. 在该架

《Spring Cloud Netflix》 -- 服务注册和服务发现-Eureka的常用配置

一.版本的说明 Angel版本对应Spring Boot 1.2.x,可以使用Spring Boot 1.3.x: Brixton版本对应Spring Boot 1.3.x,可以使用Spring Boot 1.4.x: Camden版本对应Spring Boot 1.4.x,可以使用Spring Boot 1.5.x: Dalston版本对应Spring Boot 1.5.x 二.应用进行热部署 添加依赖: 重启即可! 注意:如果是增加了jar包,还是需要关闭重启. 三.Eureka常用配置 a

Spring Cloud 声明式服务调用 Feign

一.简介 在上一篇中,我们介绍注册中心Eureka,但是没有服务注册和服务调用,服务注册和服务调用本来应该在上一章就应该给出例子的,但是我觉得还是和Feign一起讲比较好,因为在实际项目中,都是使用声明式调用服务.而不会在客服端和服务端存储2份相同的model和api定义.Feign在RestTemplate的基础上对其封装,由它来帮助我们定义和实现依赖服务接口的定义.Spring Cloud Feign 基于Netflix Feign 实现的,整理Spring Cloud Ribbon 与 S

【译文】用Spring Cloud和Docker搭建微服务平台

by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-microservices.html This blog series will introduce you to some of the foundational concepts of building a microservice-based platform using Spring Cloud

Spring Cloud服务的注册与发现

Spring Cloud简介: Spring Cloud为开发人员提供了快速构建分布式系统中的一些通用模式(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式 会话,群集状态). 分布式系统的协调导致了锅炉板模式,并且使用Spring Cloud开发人员可以快速地站起来实现这些模式的服务和应用程序. 它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心和受管平台,如Cloud Foundry. Spring Cloud的特性

(一)整合spring cloud云服务架构 - Spring Cloud简介

Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等(这里只简单的列了一部分),都可以用Spring Boot的开发风格做到一键启动和部署.Spring Cloud将目前比较成熟.经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的配置和实现原理,最终整合出一套简单易懂.易部署和易维护的分布式系统架构平台. Spring Clou

(三)整合spring cloud云服务架构 - particle云架构代码结构构建

上一篇介绍了spring cloud云服务架构的基本架构图,本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud本身的服务发现.治理.配置化管理.分布式等项目优秀解决方案,我们使用Maven技术将框架进行模块化.服务化.原子化封装,也为后期的热插拔.持续集成做一些准备工作. 另外在搭建环境之前,大家需要熟练掌握maven的使用及相关异常问题的处理. particle云架构使用maven来构建的,使用maven不仅仅是jar包的管控,重要的是要抓住maven的一个核