>  기사  >  Java  >  서비스 등록 및 '마이크로서비스' 검색 사례에 대한 자세한 설명

서비스 등록 및 '마이크로서비스' 검색 사례에 대한 자세한 설명

Y2J
Y2J원래의
2017-05-12 09:58:094158검색

이 글에서는 SpringBoot 서비스 등록 및 검색 사례를 주로 소개하는데, 관심 있는 친구들은 참고해 보세요.

마이크로서비스

자연스럽게 "마이크로서비스"를 실천하기 서비스 등록 및 검색 방법을 배워야 합니다

SpringBoot 기반의 마이크로서비스를 배우려면 SpringCloud를 선택하는 것이 당연합니다. 물론 이와 밀접한 관련이 있는 다른 기술을 선택할 수도 있습니다. dubbo

로서 Zookeeper를 사용하여 서비스 등록 및 검색을 구현할 수도 있습니다. 이 기능을 구현하는 데 Zookeeper가 좋은지 나쁜지는 각자의 의견이 있습니다

SpringCloud

Spring Cloud는 개발자가 분산 시스템에서 일부 공통 패턴을 신속하게 구축할 수 있는 도구를 제공합니다.

SpringCloud에는 분산/버전 관리 구성, 분산형 구성이 포함되어 있습니다. / 버전이 지정된 구성 및 기타 여러 하위 프로젝트.

  1. 분산/버전 구성

  2. 서비스 등록 및 검색

  3. 라우팅

  4. 서비스 간 호출

  5. 로드 밸런싱

  6. 회로 차단기

  7. 글로벌 잠금

  8. 리더십 선출 및 클러스터 상태

  9. 분산 메시징

서비스 등록 및 검색

SpringCloud 모듈

spring-cloud-starter-eureka-server

엔지니어링모듈

  1. 서비스등록센터

  2. 서비스모듈

서비스등록센터

검색 모듈을 생성하고 build.gradle에 spring-cloud-starter-eureka-server 종속성을 도입합니다

apply plugin: 'org.springframework.boot'

dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion
  }
}
repositories {
  mavenCentral()
}
dependencies {
  compile ('org.springframework.cloud:spring-cloud-starter-eureka-server')
}
jar {
  baseName = 'discovery-bootcwenao'
}

@EnableEurekaServer 주석을 통해 등록 센터 서비스 제공

/**
 * @author cwenao
 * @version $Id DiscoveryBootcwenaoApplication.java, v 0.1 2017-01-12 9:56 cwenao Exp $$
 */
@EnableEurekaServer
@SpringBootApplication
public class DiscoveryBootcwenaoApplication {
  public static void main(String[] args) {
    new SpringApplicationBuilder(DiscoveryBootcwenaoApplication.class).web(true).run(args);
  }
}

application.yml 유레카 구성속성

server:
 port: 8761
eureka:
 instance:
  hostname: discovery
 client:
  registerWithEureka: false
  fetchRegistry: false
  service-url:
   defaultZone: http://discovery:${server.port}/eureka/

localhost:8761 방문


서비스 등록

서비스 모듈을 생성하고 build.gradle에 spring-cloud-starter-eureka를 도입하세요

apply plugin: 'org.springframework.boot'
dependencyManagement {
  imports {
    mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion
  }
}

dependencies {
  compile('org.springframework.cloud:spring-cloud-starter-eureka')
  compile('org.springframework.cloud:spring-cloud-stream')
}
sourceSets {
  main {
    resources.srcDirs = ['src/main/resources', 'src/main/java']
    resources.includes = ['**/*.xml', '**/*.yml']
  }
}
jar {
  baseName = 'apigateway-bootcwenao'
}

@EnableDiscoveryClient에 주석을 달아 서비스를 등록하세요

@SpringBootApplication
@EnableDiscoveryClient
public class ApiGatewayBootcwenaoApplication {
  public static void main(String[] args) {
    SpringApplication.run(ApiGatewayBootcwenaoApplication.class, args);
  }
}

애플리케이션에서 유레카 속성을 구성하세요. yml

server:
 port: 10002
spring:
 application:
  name: apigateway
eureka:
 client:
  registerWithEureka: true
  fetchRegistry: true
  serviceUrl:
   defaultZone: http://localhost:8761/eureka/

등록이 완료된 후 spring.application.name 구성을 통해 서비스에 접근할 수 있습니다

localhost:8761을 방문하여 등록 센터에 서비스가 등록되었는지 확인하세요.


서비스 등록 센터에서 사용자 이름과 비밀번호 활성화

사용자 이름과 비밀번호를 구성하여 서비스 공급자 application.yml을 구성합니다. applicaiton.yml

security:
 basic:
  enabled: true
 user:
  name: aa
  password: abcd

eureka:
 instance:
  hostname: configserver
  prefer-ip-address: true
 client:
  registerWithEureka: true
  fetchRegistry: true
  service-url:
   defaultZone: http://aa:abcd@localhost:8761/eureka/

【관련 추천】

Java 무료 동영상 튜토리얼

2. JAVA Tutorial 매뉴얼

3. Java 주석 종합 분석

위 내용은 서비스 등록 및 '마이크로서비스' 검색 사례에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.