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는 해당 서비스를 서비스 목록에서 자연스럽게 제거합니다.
이를 통해 서비스의 자동 등록, 검색 및 상태 모니터링이 실현됩니다.
Eureka: 서비스 등록 센터(클러스터일 수도 있음)이며 주소를 외부에 노출합니다.
Provider: 시작 후 Eureka에 자신의 정보(주소, 제공되는 서비스)를 등록합니다.
Consumer : Eureka 서비스를 구독하면 Eureka는 해당 서비스의 모든 공급자 주소 목록을 소비자에게 보내고 정기적으로 업데이트합니다.
Heartbeat(갱신): 공급자는 정기적으로 http 방법을 통해 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 사례에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

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