봄 클라우드 알리바바 전투 서비스 등록 및 Nacos의 발견

등록 및 서비스 검색은 서비스 검색은 주로 다양한 마이크로 등록 서비스 인스턴스를 자동화하는 데 사용 및 서비스가 봄 클라우드 알리바바 학습 마이크로 지배 구조의 핵심이라고 발견, 우리는 먼저 서비스 등록 및 검색 구성 요소 --Nacos의 프레임 워크를 이해해야합니다.

A, 봄 클라우드 서비스 등록 및 검색 구성 요소

1.Spring 클라우드 유레카 폭풍 폐쇄 소스

봄 클라우드 하위 프로젝트에서 봄 클라우드 넷플릭스는 검색 서비스를 구현하기 위해 유레카을 제공, 유레카의 서비스는 두 가지 주요 구성 요소를 포함 발견

서버 검색 구성 요소 (EurekaServer)와 클라이언트 검색 구성 요소 (유레카 클라이언트).

도 유레카 서비스 발견 메커니즘.

등, 주석을 통해 실행할 때 클라이언트 서비스 프로그램 코드에 포함되는 경우, 그 자체가 레지스트리에 제공 등록 된 고객 서비스 검색 구성 요소, 그리고 주기적으로 하트 비트 서비스를 보내 업데이트됩니다,

세 개의 연속 하트 비트 서비스를 찾을 수없는 후, 다음 유레카 노드 서비스는 서비스 레지스트리에서 제거됩니다.

나머지는 다양한 서비스의 등록 정보에 의해 등록 된 콜센터를 달성 할 수있는 방법이 될 것이며, 서비스 이름으로 직접 호출 할 수 있습니다.

2012 년, 넷플릭스는, Euerka 널리 봄 클라우드에 Euerka 오픈 소스 사용하지만, 2018년 6월에, 넷플릭스는 폐쇄 소스 Euerka 2.0을 발표, 사회 통합은 현재 버전 1.0입니다.

닫힌 소스 후, 서비스 발견, 대답은 Nacos 인 구성 요소를 선택합니다.

 

2. 알리 바바 오픈 소스 Nacos

Nacos를 찾을 수 알리바바 관계자는 "쉽게 클라우드 네이티브 응용 프로그램 서비스 검색, 구성 관리 및 서비스 관리 플랫폼 동적 구축"입니다.

Nacos는 서비스 검색, 통합 구성 센터, 데이터 관리 서비스 등의 기능을 지원합니다.

 

두, Nacos 로컬 설치 및 시작

Nacos 여기에서 우리는 소스 코드와 빌드를 다운로드, 두 가지 방법으로 소스와 분포에 의해 얻어 질 수있다.

다운로드 Github에서의 소스 코드를 컴파일

자식 복제 https://github.com/alibaba/nacos.git 
CD를 nacos / 
MVN -Prelease-nacos 클린 설치 -U   
LS -al 유통 / 대상 / 

// 실제 경로에 $ 버전 변경 
CD 유통 / 대상 / nacos을 $ 버전 / nacos / 빈 -server-

  

시작 Nacos 서비스

리눅스 / 유닉스 / 맥 시스템
시작 명령 (독립은 독립 실행 형 모드, 비 클러스터 모드를 나타냅니다) :

쉬 startup.sh -m 독립

  

Windows 시스템

시작 명령

` 
STARTUP.CMD cmd 만든 
`

  


파일이나 실행 STARTUP.CMD을 두 번 클릭

응용 프로그램이 시작되면, 방문  http://127.0.0.1:8848/nacos/는 nacos / nacos : Nacos0.8 버전은 간단한 로그인 기능, 기본 사용자 이름 / 암호에 대한 지원을하고있다.

 

셋째, 봄 클라우드 서비스 검색의 통합

당신이 봄 클라우드 프로젝트를 생성에 매우 익숙하지 않은 경우, 당신은이 블로그 게시물의 전면을 볼 수 있습니다.

뷰 사이의 관계의 최신 버전  상표 위키

서비스 제공자 만들기

1. 봄 부트 프로젝트라는 nacos 스프링 클라우드, 주 Nocos에 의존, 추가 : 버전 0.2.x.RELEASE 봄 부팅 2.X 버전을 대응은, 버전 0.1.x.RELEASE은 봄에 해당 부팅 1.x의 버전.

    <dependencyManagement>
        <dependencies>
            <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.2.2.RELEASE</version> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>1.1.0</version> </dependency> </dependencies> </dependencyManagement>

2.添加一个模块,nacos-spring-cloud-provider,作为 服务提供者,Pom文件配置如下

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.0.Final</version> </dependency> </dependencies>

3.创建启动类,在启动类中添加一个Restful类型的方法,作为服务实现。

@SpringBootApplication
@EnableDiscoveryClient
@RestController
public class NacosProviderApplication { public static void main(String[] args) { SpringApplication.run(NacosProviderApplication.class, args); } @RequestMapping(value = "/hello/{string}", method = RequestMethod.GET) public String echo(@PathVariable String string) { return "Hello " + string; } } 

4.修改配置文件,注册到 Nacos 控制台。

server.port=8070
spring.application.name=service-provider
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

5.启动工程,查看 Nacos 控制台。

 

创建服务消费者

1.添加一个新 module,nacos-spring-cloud-consumer,作为服务消费者。

2.在启动类中添加一个Restful类型的方法,Pom文件依赖如下:

<properties>
        <spring-cloud-openfeign.version>2.0.0.RELEASE</spring-cloud-openfeign.version> <spring-cloud-netflix.version>2.0.0.RELEASE</spring-cloud-netflix.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-ribbon</artifactId> <version>${spring-cloud-netflix.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> <version>${spring-cloud-openfeign.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <exclusions> <exclusion> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> </dependency> </dependencies>

3.创建启动类和测试方法,来调用提供者的服务。

@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApplication { public static void main(String[] args) { SpringApplication.run(NacosConsumerApplication.class, args); } @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); } }

通过RestTemplate调用服务:

@RestController
public class TestController { @Autowired private RestTemplate restTemplate; @RequestMapping(value = "/hello/{str}", method = RequestMethod.GET) public String echo(@PathVariable String str) { return restTemplate.getForObject("http://service-provider/hello/" + str, String.class); } }

4.修改配置文件,订阅服务

server.port=8080
spring.application.name=service-consumer
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

5.启动工程,查看 Nacos 控制台。

6.测试服务调用,正常返回。

四、总结

这个小教程用一个简单的示例,搭建了基于Nacos的 Spring Cloud 服务发现,可以看到 Nacos 的控制台还有配置管理的功能,下一节会学习 Nacos 的配置管理。

추천

출처www.cnblogs.com/binyue/p/12095310.html