찾다
Javajava지도 시간springCloud의 Eureka 사례에 대한 심층 분석

1. springcloud에 대한 첫 소개

마이크로서비스는 아키텍처 접근 방식이므로 궁극적으로 기술 아키텍처를 구현해야 합니다.

마이크로서비스를 구현하는 방법에는 여러 가지가 있지만 가장 인기 있는 방법은 Spring Cloud입니다.

Spring의 가장 뛰어난 점은 통합입니다. 세계 최고의 프레임워크를 가져와 자신의 프로젝트에 통합하는 것입니다.

Spring Cloud도 마찬가지입니다. 현재 가장 널리 사용되는 기술 중 일부를 통합하고 구성 관리, 서비스 검색, 지능형 라우팅, 로드 밸런싱, 퓨즈, 제어 버스, 클러스터 상태 등과 같은 기능을 구현합니다. 주요 구성 요소는 다음과 같습니다:

  • Eureka: 등록 센터

  • Zuul: 서비스 게이트웨이
  • Ribbon: 로드 밸런싱

  • Feign: 서비스 콜

  • Hystix: 퓨즈

오늘은 주로 springcloud의 등록센터인 Eureka에 대해 알아봅니다.

여기는 life example 예:

온라인 차량호출이 등장하기 전에는 사람들이 차량을 부르러 나갈 때만 택시를 부를 수 있었습니다. 일부 개인 차량은 렌트를 원하지만 자격이 없어 블랙카라고 불립니다. 많은 분들이 택시를 예약하고 싶어하지만 아쉽게도 택시 수가 너무 적어 불편합니다. 개인 차량이 많지만 감히 멈출 수 없으며, 거리의 차량 중에서 어느 차량이 사람을 기꺼이 태우는지 알 수 없습니다. 한 사람은 원하고 다른 사람은 기꺼이 주지만 소개와 관리가 부족합니다.

이제 Didi와 같은 온라인 차량 공유 플랫폼이 등장했습니다. 승객을 태우고 싶은 모든 자가용은 Didi에 등록해야 하며, 차량 모델(서비스 유형)과 신원 정보(연락처 정보)를 기록해야 합니다. 이러한 서비스를 제공하는 자가용 차량은 디디(Didi)에서 찾아볼 수 있으며, 한눈에 확연히 눈에 띕니다.

지금 차량을 부르고 싶은 분은 앱을 열어 목적지를 입력하고 차량 모델(서비스 유형)을 선택하기만 하면 Didi가 자동으로 귀하의 필요에 맞는 차량을 배정해 드립니다.

반납. springcloud에 Eureka가 등장하는데, Eureka는 서비스 제공자 정보를 관리하고 기록하는 역할을 하는 Didi와 같습니다. 서비스 호출자는 서비스를 직접 찾을 필요가 없으며 Eureka에 자신의 요구 사항을 말하면 Eureka가 귀하의 요구 사항에 맞는 서비스를 알려줄 것입니다. 동시에 서비스 제공자 및 Eureka는 “心跳” 메커니즘을 통해 모니터링됩니다. 서비스 제공자에 문제가 발생하면 Eureka는 해당 서비스를 서비스 목록에서 자연스럽게 제거합니다.

이를 통해 서비스의 자동 등록, 검색 및 상태 모니터링이 실현됩니다.

springCloud의 Eureka 사례에 대한 심층 분석

Eureka: 서비스 등록 센터(클러스터일 수도 있음)이며 주소를 외부에 노출합니다.

Provider: 시작 후 Eureka에 자신의 정보(주소, 제공되는 서비스)를 등록합니다.

Consumer : Eureka 서비스를 구독하면 Eureka는 해당 서비스의 모든 공급자 주소 목록을 소비자에게 보내고 정기적으로 업데이트합니다.

Heartbeat(갱신): 공급자는 정기적으로 http 방법을 통해 Eureka에 상태를 새로 고칩니다.

연습:

유레카 등록 센터 구조 다이어그램:

springCloud의 Eureka 사례에 대한 심층 분석

pom.xml 파일 개선 및 종속성 추가

다음은 pom 파일의 주요 부분입니다

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.0.3.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
   <java.version>1.8</java.version>
   <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
</properties>

<dependencies>
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
   </dependency>
   <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
   </dependency>

   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
   </dependency>
</dependencies>

<dependencyManagement>
   <dependencies>
      <dependency>
         <groupId>org.springframework.cloud</groupId>
         <artifactId>spring-cloud-dependencies</artifactId>
         <version>${spring-cloud.version}</version>
         <type>pom</type>
         <scope>import</scope>
      </dependency>
   </dependencies>
</dependencyManagement>

<build>
   <plugins>
      <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
   </plugins>
</build>

Edit 시작 클래스

@SpringBootApplication
@EnableEurekaServer // 声明这个应用是一个EurekaServer
public class SpringcloudEurekaServerApplication {

   public static void main(String[] args) {

      SpringApplication.run(SpringcloudEurekaServerApplication.class, args);
   }
}

Write 애플리케이션입니다. yml 구성

server:
  port: 8081 # 端口
spring:
  application:
    name: eureka-server # 应用名称,会在Eureka中显示
eureka:
  client:
    register-with-eureka: false # 是否注册自己的信息到EurekaServer,默认是true
    fetch-registry: false # 是否拉取其它服务的信息,默认是true
    service-url: # EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。
      defaultZone: http://127.0.0.1:${server.port}/eureka

프로젝트 실행: http://127.0.0.1:8081

springCloud의 Eureka 사례에 대한 심층 분석

이제 유레카 등록 센터가 성공적으로 구축되었습니다

위 내용은 springCloud의 Eureka 사례에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
面试反馈 Spring Cloud 的25连环炮面试反馈 Spring Cloud 的25连环炮Aug 24, 2023 pm 03:57 PM

Spring Cloud目前相当的火热,也差不多是java开发者必备技能之一了。面试的时候被问,那也是正常不过了,很多人可能用来很久,但是没有去了解过原理,面试照样挂掉。

springcloud五大核心组件是哪些springcloud五大核心组件是哪些Jun 12, 2023 pm 03:51 PM

springcloud五大核心组件是:1、Eureka,实现服务治理;2、Ribbon,提供客户侧的软件负载均衡算法;3、Hystrix断路器,防止一个应用程序多次试图执行一个操作;4、Zuul,具有api网关,路由,负载均衡等多种作用;5、Config,进行配置管理。

比较与选择指南:SpringCloud和SpringBoot的功能对比比较与选择指南:SpringCloud和SpringBoot的功能对比Dec 29, 2023 pm 06:36 PM

SpringCloud和SpringBoot是目前Java领域中最热门的开源框架,它们分别提供了一套完善的微服务架构和快速构建应用程序的解决方案。本文将对它们的功能进行比较,并给出选择指南,以帮助读者了解它们的优势和适用场景。SpringBoot是一个用于开发Java应用程序的框架,它提供了一个简化的开发流程,集成了大量常用的功能和组件,减少了开发者的工作量

SpringCloud和SpringBoot在微服务领域的应用方式的对比和分析SpringCloud和SpringBoot在微服务领域的应用方式的对比和分析Dec 29, 2023 pm 03:45 PM

近年来,随着云计算和分布式架构的兴起,微服务架构的应用越来越广泛。而SpringCloud和SpringBoot作为Java开发中的两个重要框架,对于微服务的实现起到了重要的作用。然而,很多人对于它们在微服务领域的不同应用方式还存在一定的疑惑。本文将从不同的角度探索SpringCloud和SpringBoot在微服务中的应用方式。首先,我们来了解一下Spri

Idea springboot springCloud热加载热调试的常用方法有哪些Idea springboot springCloud热加载热调试的常用方法有哪些May 18, 2023 pm 05:43 PM

场景描述在项目开发的过程中,需要修改调试的时候偶每次都需要重启项目浪费时间,下面是我整理的两种常用的两种方式方式一修改启动配置方式(主要针对debug模式下)点击启动配置=》editconfigrations&hellip;configration下面修改Updateclassesandresourceson&lsquo;update&lsquo;action:当用户主动执行更新的时候更新快捷键:Ctrl+F9onframedeactication:在编辑窗口失去焦点的时

SpringCloud-Spring Boot Starter使用测试实例分析SpringCloud-Spring Boot Starter使用测试实例分析May 16, 2023 am 11:10 AM

SpringBootStarter是什么?SpringBootStarter是在SpringBoot组件中被提出来的一种概念、简化了很多烦琐的配置、通过引入各种SpringBootStarter包可以快速搭建出一个项目的脚手架。比如我们经常用的一些:spring-boot-starter-web:spring-boot-starter-data-redis:spring-boot-starter-data-mongodb:spring-boot-starter-data-jpa:spring-b

springcloud和springboot有什么区别springcloud和springboot有什么区别Dec 28, 2023 pm 03:34 PM

springcloud和springboot的区别:1、作用;2、使用方式;3、创作初衷;4、目的;5、集成性;6、扩展性;7、复杂性;8、社区支持;9、安全性;10、部署和运维。详细介绍:1、作用,Spring Boot主要的作用是为微服务开发提供一种快速的方式,简化配置文件,提高工作效率,而Spring Cloud则是一个综合管理框架,用于给微服务提供一个综合管理框架等等。

springcloud和dubbo有哪些区别springcloud和dubbo有哪些区别Jan 09, 2024 am 11:28 AM

springcloud和dubbo的区别:1、定位与关注点;2、生态环境与集成性;3、调用方式与性能;4、组件与功能;5、定制性与灵活性;6、学习曲线与上手难度;7、社区支持与维护。详细介绍:1、定位与关注点,SpringCloud定位为微服务架构下的一站式解决方案,它更关注于构建复杂的分布式系统,提供了一系列开箱即用的功能,Dubbo是SOA时代的产物等等。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구