为什么Eureca Client要分成服务提供者和服务消费者呢?
【学习笔记】转载
6)为什么Eureca Client要分成服务提供者和服务消费者呢?
通 常来讲,服务提供方是重量的耗时的,所以可能在n台机器上。而服务消费方是轻量的,通过配置ribbon和@LoadBalanced达到负载均衡的效 果。消费方通过template.getForEntity("http://provider/acquire"。。。来找到服务提供方。消费方和提供 方和Eureka Server三者协同,才能完美工作。如果Consumer没用Eureka Server这种技术,如何能用@LoadBalanced和ribbon这种负载均衡的功能呢?
1.Eureca Server的Helloworld例子:
做个普通的maven project,quickstart archetype。改成jdk.8。下面Camden.SR1是版本名,springcloud的版本名称很奇特,它是按照伦敦地铁站的名称命名的。
马克-to-win@马克java社区:maven当中避免重复发明轮子的方法,一种是继承,一种是引用(参考我参考目录下的文章)。maven中配置引用关系的方法是,<type>pom</type>和<scope>import</scope>,很简单,这样就引入一个pom文件,这样<dependencies>里面的<groupId>org.springframework.cloud</groupId>和<artifactId>spring-cloud-starter-eureka-server</artifactId>,由于没有版本信息,就可以参考引入的pom文件的<dependencyManagement>里面的版本信息。就像maven继承方法似的,在父pom的<dependencyManagement>里,放入版本信息,在若干子pom里都省去版本信息了。马克-to-win@马克java社区:子pom只需到父pom的<dependencyManagement>里,找到相应的artifactId和groupId的版本信息即可。引用和继承原理是类似的。我机器里面的引入文件就在: E:\m2\repository\org\springframework\cloud\spring-cloud-netflix-dependencies\1.3.1.RELEASE里面有个spring-cloud-netflix-dependencies-1.3.1.RELEASE.pom,里面<dependencyManagement>里面有句话:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
<version>${project.version}</version>
</dependency>

pom.xml:
<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</groupId>
<artifactId>EurecaServer3</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>EurecaServer3</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
版权声明:本文为转载文章,原文地址:https://blog.csdn.net/mark_to_win/article/details/88736280
为什么Eureca Client要分成服务提供者和服务消费者呢?的更多相关文章
- spring cloud微服务架构 服务提供者和服务消费者
服务提供者和服务消费者 下面这张表格,简单描述了服务提供者/消费者是什么: | 名词 | 概念 | | ----- | ----------------------- | | 服务提供者 | 服务 ...
- Dubbo搭建HelloWorld-搭建服务提供者与服务消费者并完成远程调用(附代码下载)
场景 Dubbo简介与基本概念: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103555224 Dubbo环境搭建-ZooKe ...
- SpingCloud微服务架构学习(一)之服务提供者与服务消费者
微服务构建的是分布式系统,各个微服务之间通过网络进行服务调用,这就有了服务提供者(被调用方)和服务消费者(调用方),以电影售票系统为例,假设服务调用关系如下图所示: 围绕此场景,我们先编写一个用户微服 ...
- SpringCloud系列二:硬编码实现简单的服务提供者与服务消费者
从本文开始,以一个电影售票系统为例讲解Spring Cloud 1. 版本 jdk:1.8 SpringBoot:2.0.0.RELEASE SpringCloud:Finchley.M8 2. 系统 ...
- 《springcloud 一》搭建注册中心,服务提供者,服务消费者
注册中心环境搭建 Maven依赖信息 <parent> <groupId>org.springframework.boot</groupId> <artifa ...
- Spring Cloud(二)服务提供者 Eureka + 服务消费者(rest + Ribbon)
Ribbon是什么? Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起.Ribbon客户端组件提供一系列完善的配置项如连接超时 ...
- springcloud的服务提供者与服务消费者
1.说明 springcloud中由服务消费者调用服务提供者一共有两种方法rest和feign 2.feign (1)使用feign的方式进行服务调,搭建服务提供者. 创建一个web项目(服务提供者) ...
- nacos项目搭建(服务提供者,服务消费者)
spring cloud ablibaba 版本说明 https://github.com/alibaba/spring-cloud-alibaba/wiki/版本说明 启动nacos服务 官网: h ...
- Spring Cloud(四)服务提供者 Eureka + 服务消费者 Feign
上一篇文章,讲述了如何通过RestTemplate + Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务. Feign简介 Feign是一个声明式的伪Http客户端,它使得写Htt ...
随机推荐
- 源码安装xadmin及使用
xadmin是django的第三方后台 我们也可以使用pip来安装,但是推荐使用源码安装. 因为有些新功能以及发布在GitHub上,但是还未发布到pypi上,我们就可以提取使用这些功能. 一.安装 1 ...
- 洛谷 P1129 解题报告
P1129 [ZJOI2007]矩阵游戏 题目描述 小\(Q\)是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏――矩阵游戏.矩阵游戏在一个\(N*N\)黑白方阵进行(如同国际象棋一般 ...
- Flask构建微电影(一)
第一章.项目介绍 1.1.前言 本教程我将带领大家如何使用flask框架开发微电影网站.Flask是python中最受欢迎的轻量级web框架,flask扩展丰富,冗余度小,可自由选择组合各种插 ...
- Python(1)
Python 学习 Part1 1. 斐波那契数序列 >>> a,b=0,1 >>> a 0 >>> b 1 >>> while ...
- JDK1.8的新特性
JAVA8新特性 接口改善 现在接口里已经完全可以定义静态方法了. 举一个比较普遍的例子就是在java类库中, 对于一些接口如Foo, 都会有一个有静态方法的工具类Foos 来生成或者配合Foo对象实 ...
- 剑指Offer常见问题整理
1 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.(来自牛客网,剑指offer) ...
- http请求 405错误 方法不被允许 (Method not allowed)
由于自己疏忽,导致请求错误405,然后前端数据传输没错,百度大都说跟post提交方式有关,改成get还是报错,检查才知道,controller中忘记写@requestMapping("/XX ...
- bind在onlick中的作用!
1:onClick={this.toRenderRight.bind(this,item.get('id'))}; 2:onClick={this.toRenderRight.(item.get('i ...
- java中Collection容器
1.容器(Collection)也称为集合, 在java中就是指对象的集合. 容器里存放的都只能是对象. 实际上是存放对象的指针(头部地址): 这里对于八种基本数据类型,在集合中实际存的是对应的包装类 ...
- 查询订阅某topic的所有consumer group(Java API)
在网上碰到的问题,想了下使用现有的API还是可以实现的. 首先,需要引入Kafka服务器端代码,比如加入Kafka 1.0.0依赖: Maven <dependency> <grou ...