Springcloud-Alibaba seis〗 〖artículos Consul
- A. Cónsul de instalación (versión Windos)
- 1.1 Descargar y descomprimir en una carpeta
- 1.2 de entrada cmd en la línea de comandos en el camino
- 1.3 En el cónsul de entrada de línea de comandos, un montón de cosas si ocurre lo siguiente, la instalación es correcta
- agente cónsul 1.4 de entrada -Dev empezar Cónsul
- II. Nuevo módulo de servicio de pago en la nube-providerconsul-payment8006
- 8006 2.1 Estructura del módulo
- 2.2 cambio pom
- perfil application.yml 2.3 build
- 2.4 Iniciar la clase
- 2.5 clase de tráfico capa Controller
- 2.6 Prueba
- III. Nueva Modul-nube-consumerconsul order80
- 3.1 Estructura de directorios
- 3.2 cambio pom
- perfil application.yml 3.2 build
- maestro de arranque Clase 3.3
- capa 3.4 Controlador de la clase de negocios
- 3.5 Configuración de la plantilla de la haba RestTemplate
- 3.6 Prueba de inicio
- IV. Registro Centro de Eureka, Zookeeper, Cónsul de las similitudes y diferencias
- Consul artículos acabados, el siguiente capítulo es el punto de atención Zanga cinta y OpenFeign ~, no se pierdan ~
A. Cónsul de instalación (versión Windos)
web oficial de descarga demasiado lento, he subido a la nube Baidu
Baidu nube enlace
código de extracción: fs72
1.1 Descargar y descomprimir en una carpeta
1.2 de entrada cmd en la línea de comandos en el camino
1.3 En el cónsul de entrada de línea de comandos, un montón de cosas si ocurre lo siguiente, la instalación es correcta
agente cónsul 1.4 de entrada -Dev empezar Cónsul
En nuestro puerto local 8500 pueden verse Cónsul propia interfaz de la interfaz de usuario
II. Nuevo módulo de servicio de pago en la nube-providerconsul-payment8006
8006 2.1 Estructura del módulo
2.2 cambio pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloud2020</artifactId>
<groupId>com.aiguigu.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-providerconsul-payment8006</artifactId>
<dependencies>
<!--springcloud consul-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
perfil application.yml 2.3 build
server:
port: 8006
spring:
application:
name: consul-provider-payment
###consul注册中心地址
cloud:
consul:
host: localhost
port: 8500
discovery:
#hostname: 127.0.0.1
service-name: ${spring.application.name}
2.4 Iniciar la clase
package com.atguigu.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@EnableDiscoveryClient
public class PaymentMain8006 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8006.class,args);
}
}
2.5 clase de tráfico capa Controller
package com.atguigu.springcloud.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.UUID;
@RestController
@Slf4j
public class PaymentConsulController {
@Value("${server.port}")
private String serverPort;
@GetMapping(value = "/payment/consul")
public String paymentConsul(){
return "Spring cloud with consul port: "+serverPort+"\t "+ UUID.randomUUID().toString();
}
}
2.6 Prueba
cónsul interfaz de la interfaz de usuario abierta puede ver nuestras micro-servicios ya registrados para venir
ver algunos de los demás datos en el interior conusl
Pruebas de negocios
III. Nueva Modul-nube-consumerconsul order80
3.1 Estructura de directorios
3.2 cambio pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloud2020</artifactId>
<groupId>com.aiguigu.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-consumerconsul-order80</artifactId>
<dependencies>
<!--springcloud consul-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
<!--springboot整合web组件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
</project>
perfil application.yml 3.2 build
### consul服务端口号
server:
port: 80
spring:
application:
name: cloud-consumer-order
###consul服务注册中心
cloud:
consul:
host: localhost
port: 8500
discovery:
#hostname: 127.0.0.1
service-name: ${spring.application.name}
maestro de arranque Clase 3.3
package com.atguigu.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import javax.swing.*;
@SpringBootApplication
@EnableDiscoveryClient
public class OrderConsulMain80 {
public static void main(String[] args) {
SpringApplication.run(OrderConsulMain80.class,args);
}
}
capa 3.4 Controlador de la clase de negocios
package com.atguigu.springcloud.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
@RestController
@Slf4j
public class OrderConsulController {
public static final String INVOKE_URL ="http://consul-provider-payment";
@Resource
private RestTemplate restTemplate;
@GetMapping(value = "/consumer/payment/consul")
public String getPaymentInfo(){
return restTemplate.getForObject(INVOKE_URL+"/payment/consul",String.class);
}
}
3.5 Configuración de la plantilla de la haba RestTemplate
package com.atguigu.springcloud.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 ApplicationContextConfig {
@Bean
@LoadBalanced
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
}
3.6 Prueba de inicio
prueba de la clase de negocios
IV. Registro Centro de Eureka, Zookeeper, Cónsul de las similitudes y diferencias
Nombre del componente | idioma | GORRA | Servicio de Monitorización de la inspección | Extranjera exponen interfaces | la integración Springcloud |
---|---|---|---|---|---|
Eureka | Java | de | Puede ser equipado con soporte | HTTP | integrado |
Cónsul | Vamos | CP | apoyo | HTTP / DNS | integrado |
Zookeeper | Java | CP | apoyo | cliente | integrado |
Hasta cumplir dos
- C: La consistencia (fuerte consistencia)
- R: Disponible (disponibilidad)
- P: tolerancia de reparto (culpa partición tolerancia)