- 浏览: 496237 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
spring cloud ribbon方式使用服务
当你进行网页调用时就会由8762和8763轮流进行服务
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.midea</groupId> <artifactId>base</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>base</name> <!-- 设定仓库,按设定顺序进行查找. --> <!--<repositories> <repository> <id>public</id> <name>Team Nexus Repository</name> <url>http://10.33.183.113:8081/nexus/content/groups/public</url> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>public</id> <name>Team Nexus Repository</name> <url>http://10.33.183.113:8081/nexus/content/groups/public</url> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </pluginRepository> </pluginRepositories> --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.SR1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> </build> </project>
server.port=8764 #logging.pattern.level=INFO #服务器路径 server.context-path=/ribbon # #eureka.instance.hostname=localHost #表示是否注册自身到eureka服务器,因为当前这个应用就是eureka服务器,没必要注册自身,所以这里是false。 #eureka.client.registerWithEureka=false #fetchRegistry表示是否从eureka服务器获取注册信息,同上,这里不需要 #eureka.client.fetchRegistry=false #设置eureka服务器所在的地址,查询服务和注册服务都需要依赖这个地址。 #eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ eureka.client.serviceUrl.defaultZone=http\://localhost\:8761/eurekaServer/eureka/ spring.application.name=ribbon
package com; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; @SpringBootApplication //spring boot 开启应用 //@EnableDiscoveryClient //Discovery Service”有多种实现,比如:eureka, consul, zookeeper。 @EnableEurekaClient //只能为eureka作用 public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean @LoadBalanced RestTemplate restTemplate() { return new RestTemplate(); } }
package com.Service; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; //ribbon远程调用服务 @Service("callService") public class CallService { final static Logger logger = LogManager.getLogger(CallService.class); @Autowired RestTemplate restTemplate; public String callService(String name) { //这里只是把IP和端口号变成了服务的名字(通过HTTP进行远程服务调用的) return restTemplate.getForObject("http://eureka-Client/eurekaClient/Test/test",String.class); } }
package com.controller; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.Service.CallService; import io.swagger.annotations.Api; @Api(value = "/CallTest", description = "测试接口", tags = "TestController") @RequestMapping("/CallTest") @RestController public class TestController { final static Logger logger = LogManager.getLogger(TestController.class); @Autowired CallService callService; @RequestMapping(value = "/test", method = RequestMethod.GET) public String test() { logger.info("test"); //调用服务进行远程调用 String temp = callService.callService("test"); logger.info("temp == " + temp); return temp; } }
当你进行网页调用时就会由8762和8763轮流进行服务
- ribbon.zip (46.9 KB)
- 下载次数: 1
发表评论
-
分布式跟踪系统
2017-07-18 11:21 428分布式跟踪系统 Zipkin(分服务端和客户端) 1.服务 ... -
spring cloud config 加密使用
2017-06-29 09:49 2149spring cloud config 加密使用 数据不加密 ... -
spring cloud config 高可用的分布式配置中心(Spring Cloud Config)
2017-06-28 09:29 503spring cloud config 高可用的分布式配置中心 ... -
spring cloud config client 使用
2017-06-28 08:42 748spring cloud config client 使用 ... -
spring cloud config service 使用
2017-06-28 08:35 652spring cloud config service 使用 ... -
spring cloud zuul 使用
2017-06-27 10:58 784spring cloud zuul 使用 1.可以实现请求路 ... -
Hystrix 断路器
2017-06-27 10:56 622Hystrix 断路器 由于网络原因或者自身的原因,服务并不 ... -
spring cloud feign方式使用服务
2017-06-26 15:17 742spring cloud feign方式使用服务 feig ... -
spring cloud 向 eureka 注册服务
2017-06-26 11:41 486spring cloud 向 eureka 注册服务 &l ... -
spring cloud eureka 服务搭建
2017-06-26 10:41 356spring cloud eureka 服务搭建 注册服务默 ...
相关推荐
通过这个详细的Spring Cloud Ribbon使用例子,你将能够理解Ribbon的工作方式,如何配置和使用它,以及它在微服务架构中的作用。实践中,你可以根据demoribbon的代码逐步学习,加深对Ribbon的理解,并将其应用于你的...
Spring Cloud提供了两种与服务交互的方式:RestTemplate和Feign。Ribbon与这两种客户端结合,实现负载均衡。 - 对于`RestTemplate`,我们可以创建一个配置类,注入`@LoadBalanced`注解的`RestTemplate`,这样每次...
Spring Cloud 是一个基于 Netflix OSS 的微服务架构框架,它提供了多种工具和服务,帮助开发者构建、配置和管理分布式系统。在给定的标题和描述中,我们看到了几个关键组件:Eureka、Zuul、Ribbon、Hystrix 和 Feign...
Eureka是SpringCloud中的服务发现组件,而Ribbon是客户端负载均衡器。本文将详细介绍如何将这三个组件整合在一起,以及它们在实际应用中的工作原理和配置。 **Eureka服务发现** Eureka是Netflix开源的一个基于REST...
《Spring Cloud实战》一书深入探讨了Spring Cloud这一强大的微服务框架,它是当前软件开发领域中最受欢迎的构建微服务架构的工具。Spring Cloud基于Spring Boot的便利性,为开发者提供了全面的微服务开发支持,包括...
在 Spring Cloud 中,Ribbon 通常与 Eureka 配合使用,自动从服务发现组件获取服务列表并进行负载均衡。 8. **Feign**: Feign 是一个声明式的 HTTP 客户端,它使得构建与 RESTful 服务的客户端变得简单。Feign 可以...
Spring Cloud Ribbon是一个基于Netflix的开源项目,主要提供客户端的软件负载均衡算法,将中间层服务连接在一起。Ribbon客户端组件提供了一系列完善的配置项,如连接超时、重试等。简单来说,就是在配置文件中列出...
springcloud ribbon 服务消费者 http://knight-black-bob.iteye.com/blog/2356224
总结起来,集成SpringCloud与Python服务涉及的关键点包括:Eureka服务发现,Python服务的注册,Ribbon的负载均衡,Java服务调用Python服务的实现以及跨语言通信的处理。通过以上步骤,我们可以实现Java和Python...
Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具。 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一。Ribbon客户端...
本文主要探讨了在SpringCloud中如何使用Ribbon和Feign作为服务消费者的组件,以及它们背后的负载均衡原理。首先,理解服务间通信的基础是HTTP协议,而注册中心Eureka则负责维护服务实例的列表。 Ribbon和Feign都是...
在Spring Cloud生态系统中,Ribbon...通过这个Ribbon方式的示例,你可以深入理解Spring Cloud服务消费者如何通过Eureka找到服务提供者,并使用Ribbon进行客户端负载均衡。这有助于你构建更加健壮、可扩展的微服务架构。
通过分析这些过程,我们可以深入理解Ribbon是如何集成到Spring Cloud中,以及它如何在运行时动态地为不同的服务请求创建相应的负载均衡器实例。此外,了解Ribbon的工作机制可以帮助我们更好地控制和优化微服务间的...
通过这种方式,Python服务无需直接暴露在SpringCloud网络中,而是通过Java代理进行通信。 3. **API Gateway:** SpringCloud的API Gateway(如Zuul)可以作为统一的入口,处理所有微服务的请求。Python服务的接口...
【Spring Cloud Feign服务使用详解】 在分布式系统中,服务间的通信是至关重要的,Spring Cloud Feign就是一种声明式的服务调用工具,它使得服务之间的调用变得简单且直观。Feign是Netflix开源的一个接口绑定工具,...
在这个"springcloud-ribbon负载均衡demo"中,我们将探讨Ribbon的基本概念、工作原理以及如何在实际项目中进行配置和使用。 首先,Ribbon是Netflix开源的一个Java库,用于客户端的负载均衡。在微服务架构中,每个...
在Spring Cloud生态系统中,Spring Cloud Ribbon是一个至关重要的组件,它主要负责实现客户端的负载均衡,以确保服务间的调用能够均匀地分散到各个实例上,从而提高系统的整体可用性和性能。Ribbon是Netflix开发的一...
SpringCloud 是一个基于 Spring Boot 实现的云应用开发工具,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...