spring cloud(二)----------------Eureka注册中心环境搭建

news2024/10/5 12:50:42

一、首先创建一个没有架骨的maven主项目在这里插入图片描述

  • 点击下一步创建

创建完成后在maven主项目下删除src并且创建四个maven副项目分别叫:

  • demospringcloud-api--------连接实例

  • demospringcloud-cosumer---------消费类

  • demospringcloud-eureka---------注册类

  • demospringcloud-provider---------服务类
    在这里插入图片描述

  • 打开主项目中的pom文件添加引用

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Greenwich.SR1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!--Springboot依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.1.4.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven-plugin</artifactId>
            <version>1.18.12.0</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

    </dependencies>

二、接下来在demospringcloud-api中创建实体类以供我们测试

在这里插入图片描述

内容:

package com.demospringcloud.entiy;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class StudentEntity implements Serializable {
    private String id;
    private String name;
    private int age;
}

三、配置Eureka:

步骤:

1.首先需要将你的demospringcloud-eureka项目变成springboot项目这里用到的包前面已经引入过了不用在子项目中重新引用了

2.然后就是注意的地方 你需要在本机的host文件中增加一个配置信息或者多个 因为后面会写集成多个Eureka注册中心的配置我电脑是win10的系统文件目录在:

C:\Windows\System32\drivers\etc

在下面增加一句话:

127.0.0.1 localhost1.com
127.0.0.1 localhost2.com
127.0.0.1 localhost3.com

如果是配置多个的话就增加多点 我目前配置了3个用来演示

那么现在先给大家配置一个:

首先需要创建一个普通的Java文件然后创建一个springboot的配置文件 如图:

在这里插入图片描述

编辑当前springcloud文件:

package springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class springcloud {

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

编辑完成后你的这个子项目就变成一个springboot的项目了下面就是配置yml文件:

注意:我这边的hostname是我在我本机更改完host文件以后添加的配置域名,端口号7001是官方默认的你也可以自己更改

server:
  port: 7001
eureka:
  instance:
    hostname: localhost1.com
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka

四、配置服务类

配置好Eureka注册中心后在demospringcloud-provider中创建一个controller,并且将demospringcloud-provider这个类变为springboot项目如图创建:

在这里插入图片描述

然后打开demospringcloudprovider添加:

package demospringcloudprovider;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
//将项目变为springboot项目
@SpringBootApplication
//打开enableeureka服务端
@EnableEurekaClient
public class demospringcloudprovider {
    public static void main(String[] args) {
        SpringApplication.run(demospringcloudprovider.class,args);
    }
}

controller中添加完成Student类后编辑:

package demospringcloudprovider.controller;
//引入当前文件项目中的实体类
import com.demospringcloud.entiy.StudentEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
public class Student {

    @GetMapping("/Get")
    public List<StudentEntity> Get() {
        List<StudentEntity>  list=new ArrayList<StudentEntity>();
        list.add(1,new StudentEntity("1001","大娃",12));
        list.add(2,new StudentEntity("1002","二娃",15));
        list.add(3,new StudentEntity("1003","六娃",18));
        list.add(4,new StudentEntity("1004","七娃",19));
        return list;
    }
}

最后编辑application.yml文件配置:

server:
  port: 8081
spring:
  application:
    name: demospringcloud-provider-8081
eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka

声明:如果你引入当前文件项目中的实体类后你的demospringcloud-provider项目的pom文件中会多出来一个引入:

<dependencies>
        <dependency>
            <groupId>com.chinadic</groupId>
            <artifactId>demospringcloud-api</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

五、初步测试:

首先运行Eureka注册类demospringcloud-eureka------------>其次运行服务类demospringcloud-provider

注意:可以先打开demospringcloud-eureka测试连接

在网页中输入地址: localhost:7001 看看是否能够进入
在这里插入图片描述

这时候需要注意 不要管我的中间那一部分你们应该看不到,这个是后面集成多个成功后的界面

只要能进入这个网页后就再启动demospringcloud-provider

成功后中间的

Insatances currently registered with Eureka

里面应该会有你的provider服务类的接口信息

六、配置消费类

配置这个消费类时我不太喜欢传统的配置方法 那种方法比较麻烦我这边使用了熔断器需要再消费类demospringcloud-cosumer的pom文件中添加:

不说那么多了先看目录:

在这里插入图片描述

编辑configBean

package demospringcloudconsumer.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class ConfigBean {

    @LoadBalanced
    @Bean
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}

编辑StudentContoller

package demospringcloudconsumer.controller;

import com.demospringcloud.service.IStudent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import java.util.List;


@RestController
@CrossOrigin
public class StudentContoller {
    @Autowired
    private IStudent iStudent;


    @RequestMapping(value = "/Get",produces = "text/html;charset=utf-8")
    public List getRestTemplate(){
        return iStudent.Get();
    }
}

EurekaCAP原则
C : 强一致性
A :可用性
P :分区容错性
CAP核心理论 :
一个分布式系统不可能同事很好的满足一致性,可用性和分区容错性这三个需求
根据Cap原理,将NOSQL数据库分成了满足CA原则 满足CP原则 和满足AP原则三大类
CA :单点集群满足一致性可用性的系统 通常可扩展性比较差
CP :满足一致性 分区容错性的系统 通常性能不是特别高
AP :满足可用性 分区容错性的系统,通常可能对一致性要求低一些

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/358479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习:基于支持向量机(SVM)进行人脸识别预测

机器学习&#xff1a;基于支持向量机&#xff08;SVM&#xff09;进行人脸识别预测 文章目录机器学习&#xff1a;基于支持向量机&#xff08;SVM&#xff09;进行人脸识别预测一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.准备数据2.业务理解3.数据理解4.数…

java3月train笔记

java笔记 day01 一、jdk和idea下载及安装&#xff08;一般不建议装C盘&#xff09;&#xff1a; jdk&#xff1a;java开发环境 idea&#xff1a;开发工具&#xff08;软件&#xff09;&#xff0c;用来编写代码的 苍老师文档服务器&#xff1a;doc.canglaoshi.org jdk下载&…

JavaEE|网络编程之套接字 TCP

文章目录一、ServerSocket API构造方法常用方法二、Socket API构造方法常用方法注意事项三、TCP中的长短连接E1:一发一收&#xff08;短连接&#xff09;E2:请求响应&#xff08;短连接&#xff09;E3&#xff1a;多线程下的TCP回响服务器说明&#xff1a;这部分说实话有点懵&a…

SrpingBoot拦截器

一、拦截器原理 根据当前请求&#xff0c;进入到 HandlerExecutionChain(可以处理请求的 handler 以及 handler 的所有拦截器)根据顺序执行所有拦截器的 preHandle() 方法如果当前拦截器的 preHandler() 方法返回 true&#xff0c;则执行下一个拦截器的 preHandler() 方法如果当…

Java常用框架(一)

思维导图 常见知识点 一、SpringBoot 1.简单介绍一下Spring及其优缺点 1.1 概念 重量级企业开发框架EJB的替代品&#xff0c;通过依赖注入、面向切面编程&#xff0c;使用简单Java对象POJO为企业Java开发提供了相对简单的方法。 1.2 优缺点 1.2.1 优点 组件代码轻量级 …

高并发架构 第一章大型网站数据演化——核心解释与说明。大型网站技术架构——核心原理与案例分析

大型网站架构烟花发展历程1.1.1初始阶段的网站构架1.1.2应用服务和数据服务分离1.1.3使用缓存改善网络性能1.1.4使用应用服务器集群改善网站的并发处理能力1.1.5数据库读写分离1.1.6使用反向代理和cdn加速网站相应1.1.1初始阶段的网站构架 大型网站都是由小型网站一步步发展而…

音视频基础之音频常见名词

采样频率 每秒钟采样的点的个数。常用的采样频率有&#xff1a; 22000&#xff08;22kHz&#xff09;&#xff1a; 无线广播。 44100&#xff08;44.1kHz&#xff09;&#xff1a;CD音质。 48000&#xff08;48kHz&#xff09;&#xff1a; 数字电视&#xff0c;DVD。 96000&am…

【C++提高编程】C++全栈体系(二十二)

C提高编程 第三章 STL - 常用容器 五、stack容器 1. stack 基本概念 概念&#xff1a;stack是一种先进后出(First In Last Out,FILO)的数据结构&#xff0c;它只有一个出口 栈中只有顶端的元素才可以被外界使用&#xff0c;因此栈不允许有遍历行为 栈中进入数据称为 — 入…

startForegroundService与startService 使用浅析

一. 了解服务&#xff08;Service&#xff09;的概念 service是安卓开发中一个很重要组件&#xff0c;意为“服务”。与我们常见的activity不同&#xff0c;“服务”是默默的在背后进行工作的&#xff0c;通常&#xff0c;它用于在后台为我们执行一些耗时&#xff0c;或者需要…

【机器学习】Adaboost

1.什么是Adaboost AdaBoost&#xff08;adapt boost&#xff09;&#xff0c;自适应推进算法&#xff0c;属于Boosting方法的学习机制。是一种通过改变训练样本权重来学习多个弱分类器并进行线性结合的过程。它的自适应在于&#xff1a;被前一个基本分类器误分类的样本的权值会…

二叉树最大深度、最小深度、以及n叉树的最大深度

1.N 叉树的最大深度 给定一个 N 叉树&#xff0c;找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 N 叉树输入按层序遍历序列化表示&#xff0c;每组子节点由空值分隔&#xff08;请参见示例&#xff09;。 示例 1&#xff1a; 输入&#xff…

多因子模型(MFM)

多因子模型&#xff08;Muiti-Factor M: MFM&#xff09;因子投资基础CAPM (资本资产定价模型)APT套利定价理论截面数据 & 时间序列数据 & 面板数据定价误差 α\alphaαalpha 出现的原因线性多因子模型Fama-French三因子模型三因子的计算公式利用alpha大小进行购买股票…

centos误删python2后怎么重新安装

此教程为离线安装 一. 先查询系统版本 cat /proc/version Linux version 3.10.0-1127.el7.x86_64 (mockbuildkbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020 二. 安装python2.7.5(已知原python版…

【C++修炼之路】19.AVL树

每一个不曾起舞的日子都是对生命的辜负 AVL树前言&#xff1a;一.AVL树的概念二.AVL树的结构2.1 AVL树节点的定义2.2 AVL树的结构2.3 AVL树的插入2.4 AVL树的验证2.5 AVL树的删除(了解)三.AVL树的旋转&#xff08;重要&#xff09;3.1 左单旋3.2 右单旋3.3 左右双旋3.4 右左双旋…

2023年 ChatGPT 研究报告

第一章 行业概况 ChatGPT是由OpenAI 团队研发创造&#xff0c;OpenAI是由创业家埃隆马斯克、美国创业孵化器Y Combinator总裁阿尔特曼、全球在线支付平台PayPal联合创始人彼得蒂尔等人于2015年在旧金山创立的一家非盈利的AI研究公司&#xff0c;拥有多位硅谷重量级人物的资金支…

最简单得方法解决TCP分包粘包问题

如何用最简单的方法解决TCP传输中的分包粘包问题&#xff1f; 首先需要说明一点&#xff0c;分包粘包等等一系列的问题并不是协议本身存在的问题&#xff0c;而是程序员在写代码的时候&#xff0c;没有搞清楚数据的边界导致的。 看个简单的例子&#xff0c;TCP客户端不断的向服…

SAP 解析固定资产的减值功能

SAP固定资产的减值功能 若固定资产出现减值迹象&#xff0c;也就是固定资产的可收回金额小于账面价值时&#xff0c;就要计提固定资产减值准备。 分录&#xff1a; 借&#xff1a;资产减值损失&#xff08;损益科目&#xff09; 贷&#xff1a;固定资产减值准备&#xff08;资…

骨传导耳机是不是智商税?骨传导耳机真的不伤耳吗?

很多人对骨传导耳机是具有一定的了解&#xff0c;但是对骨传导耳机还是有一定的刻板印象&#xff0c;那么骨传导耳机到底是不是智商税呢&#xff1f;主要还是要从骨传导耳机传声原理上讨论。 骨传导耳机是属于固体传声的一种方式&#xff0c;通过骨骼传递声音&#xff0c;在使用…

一种基于强化学习的自动变道机动方法

文章目录摘要前言相关的工作方法论动作空间奖励函数设计Q学习仿真结果结论摘要 变道是一项至关重要的车辆操作&#xff0c;需要与周围车辆协调。建立在基于规则的模型上的自动换道功能可能在预定义的操作条件下表现良好&#xff0c;但在遇到意外情况时可能容易失败。在我们的研…

谈一谈正向代理和反向代理?

谈一谈正向代理和反向代理&#xff1f;什么是代理服务器&#xff08;Proxy Serve&#xff09;&#xff1f;为什么使用代理服务器&#xff1f;什么是正向代理什么是反向代理正向代理和反向代理的区别正向代理的应用反向代理的应用什么是代理服务器&#xff08;Proxy Serve&#…