springcloud(三):Eureka客户端生产者、消费者和feign的使用

Eureka的服务器段使用springcloud(二)中的eureka_service

一. 因为使用一个注册中心服务器端,n个客户端:生产者客户端、消费者客户端....,所有的客户端最好的方式就是通过对象传递参数,因此需要创建一个公共组件项目,为n个客户端传值提供方便

二、创建公共组件项目

1.创建公共组件项目,因为只是数据传输层类共用,因此创建普通maven项目就好

2.给公共组件项目起名字

3.maven的配置

4.同理,为了在一个窗口好查阅,我们创建独立的项目模块

5.创建如下项目结构

6.编辑Classes.java类

package cn.kgc.vo;

import java.io.Serializable;

/**
 * Created by Administrator on 2019/6/11.
 */
public class Classes implements Serializable{
    private Integer cid;
    private String cname;

    public Classes() {
    }

    public Classes(Integer cid, String cname) {
        this.cid = cid;
        this.cname = cname;
    }

    public Integer getCid() {
        return cid;
    }

    public void setCid(Integer cid) {
        this.cid = cid;
    }

    public String getCname() {
        return cname;
    }

    public void setCname(String cname) {
        this.cname = cname;
    }

    @Override
    public String toString() {
        return "Classes{" +
                "cid=" + cid +
                ", cname=‘" + cname + ‘\‘‘ +
                ‘}‘;
    }
}

7编辑Student.java类

package cn.kgc.vo;

import java.io.Serializable;

/**
 * Created by Administrator on 2019/6/11.
 */
public class Student implements Serializable{
    private Integer sid;
    private String sname;
    private String password;
    private String subject;
    private Double result;
    private Integer cid;

    public Student() {
    }

    public Student(Integer sid, String sname, String password, String subject, Double result, Integer cid) {
        this.sid = sid;
        this.sname = sname;
        this.password = password;
        this.subject = subject;
        this.result = result;
        this.cid = cid;
    }

    public Integer getSid() {
        return sid;
    }

    public void setSid(Integer sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public Double getResult() {
        return result;
    }

    public void setResult(Double result) {
        this.result = result;
    }

    public Integer getCid() {
        return cid;
    }

    public void setCid(Integer cid) {
        this.cid = cid;
    }

    @Override
    public String toString() {
        return "Student{" +
                "sid=" + sid +
                ", sname=‘" + sname + ‘\‘‘ +
                ", password=‘" + password + ‘\‘‘ +
                ", subject=‘" + subject + ‘\‘‘ +
                ", result=" + result +
                ", cid=" + cid +
                ‘}‘;
    }

}

8.因为在企业中 项目都是独立调用的,也就意味着其他eureka客户端会互相调用,会公共引用公共组件的类,那么独立的项目引用的方式就是 将公共组件项目使用maven打成jar包或war包,存入maven仓库,供所有人公共调用,因此我们下面使用现有的idea工具将项目打成war包,打入我们自己的maven仓库,如果是在企业中,则将项目达到公共私服的maven库中,

注意:使用idea中将项目打成war包存入maven仓库时,一定一定注意 在idea中已经配置过自己的maven本地仓库地址

看到此处我们的公共组件就已经打成jar文件

三、创建eureka生产者项目

1.创建项目模块

2. 选择项目类型

3.输入groupId 和模块名称

4.选择创建web、sql、spring cloud discovery

5. 选择模块名称

原文地址:https://www.cnblogs.com/holly8/p/11002943.html

时间: 2024-07-31 06:23:32

springcloud(三):Eureka客户端生产者、消费者和feign的使用的相关文章

spring-cloud配置eureka客户端

spring-cloud配置eureka客户端 eureka用来发现其他程序 需要提前配置eureka服务端,具体看 https://www.cnblogs.com/ye-hcj/p/10292944.html 依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="h

史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)

最新Finchley版本请访问:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f3-feign/或者http://blog.csdn.net/forezp/article/details/81040965 上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务. Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接

SpringCloud微服务实现生产者消费者+ribbon负载均衡

一.生产者springcloud_eureka_provider (1)目录展示 (2)导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--eureka依赖--> <dependency> <group

生产者-消费者 模型

一.相关概念: 同步和互斥是进程间很重要的交互模式,而生产者和消费者问题则是同步和互斥的一个经典模型. 同步是一种时序关系.如规定了进程1 处理完事情A后,进程2 才能处理事情 B,经典的同步问题是生产者和消费者间的同步. 互斥描述的是一种独占关系.如任一时刻,进城1 和进程2 中只能有一个写文件C. 生产者-消费者问题: 1.在同一个进程地址空间内执行的两个线程生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费.消费者线程从缓冲区中获得物品,然后释放缓冲区.当生产者线程生产物品

day 7-5 生产者消费者模型

一. 生产者和消费者模型 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题.该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度. 二. 为什么要使用生产者和消费者模式 在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程.在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据.同样的道理,如果消费者的处理能力大于生产者,那么消费者就必须等待生产者.为了解决这个问题于是引入了生产者和消费者模式.

Python之路(第三十八篇) 并发编程:进程同步锁/互斥锁、信号量、事件、队列、生产者消费者模型

一.进程锁(同步锁/互斥锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的, 而共享带来的是竞争,竞争带来的结果就是错乱,如何控制,就是加锁处理. 例子 #并发运行,效率高,但竞争同一打印终端,带来了打印错乱 from multiprocessing import Process import os,time def work(): print('%s is running' %os.getpid()) time.sleep(2) print('

【广州】springcloudの核心组件Eureka、Ribbon、Feign、Hystrix、...

springcloudの核心组件Eureka.Ribbon.Feign.Hystrix.Zuul 看了一篇关于springcloud核心组件的实例讲解,分析的简单透彻,更好的明白组件间的关系,记录下来. 各个组件角色扮演: Eureka:各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取注册表,从而知道其他服务在哪里 Ribbon:服务间发起请求的时候,基于Ribbon做负载均衡,从一个

Thinking in Java---线程通信+三种方式实现生产者消费者问题

前面讲过线程之间的同步问题:同步问题主要是为了保证对共享资源的并发访问不会出错,主要的思想是一次只让一个线程去访问共享资源,我们是通过加锁的方法实现.但是有时候我们还需要安排几个线程的执行次序,而在系统内部线程的调度是透明的,没有办法准确的控制线程的切换.所以Java提供了一种机制来保证线程之间的协调运行,这也就是我们所说的线程调度.在下面我们会介绍三种用于线程通信的方式,并且每种方式都会使用生产者消费者问题进行检验. 一.使用Object类提供的线程通信机制 Object类提供了wait(),

生产者消费者问题Java三种实现

生产者-消费者Java实现 2017-07-27 1 概述 生产者消费者问题是多线程的一个经典问题,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品. 解决生产者/消费者问题的方法可分为两类: 采用某种机制保护生产者和消费者之间的同步: 在生产者和消费者之间建立一个管道. 第一种方式有较高的效率,并且易于实现,代码的可控制性较好,属于常用的模式.第二种管道缓冲区不易控制,被传输数据对象不易于封装等,实用性不强. 在Java中有四种方法支持同步,其中前三个是同步