Notas pessoais de Spring Boot de 0 a 12 --spring Cloud (simples de usar) e implantação rápida

I. Visão geral

É separar o cliente e o servidor um por um e, em seguida, lançar cada um na nuvem de boot da primavera e colocá-los juntos quando forem necessários.

2. Simples de usar

A estrutura é assim, um servidor eureka, usado como intermediário, centro de registro.

1. eureka-server (Centro de Registro)

eureka é feito pela Netflix, mas faz parte da nuvem da primavera.
O projeto eureka-server contém apenas este

Registro

  • Configurar as informações de eureka
  • Use as anotações para @EnableEurekaServerabrir o servidor Eureka antes da classe do programa principal
    Insira a descrição da imagem aqui
    Configure as informações do eureka: application.yml:
server:
  port: 8761
eureka:
  instance:
    hostname: eureka-server #eureka实例的主机名字
  client:
    register-with-eureka: false #不把自己注册到eureka,因为这是个中间人
    fetch-registry: false #不从eureka上获取服务的注册信息
    service-url:
      defaultZone: http://localhost:8761/eureka/

Insira a descrição da imagem aqui

2. Provider-ticket (provedor de serviços)

  • Escreva a camada de serviço e a camada de controle
  • Configure as informações do eureka e adicione o aplicativo ao eureka
    Insira a descrição da imagem aqui

1) Configure as informações de eureka: application.yml:

server:
  port: 8001
spring:
  application:
    name: provider-ticket

eureka:
  instance:
    prefer-ip-address: true #注册的时候使用服务的IP地址
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

Sim, sempre há algo para produzir, então dois

2) Categoria de serviço

@Service
public class TicketService {
    
    

   public  String getTicket(){
    
    
       return "《一张掉影票》";
   }
}

3) Categoria de controle

@RestController
public class TicketController {
    
    
    @Autowired
    TicketService ticketService;

    @GetMapping("/")
    public String getTicket(){
    
    
        return ticketService.getTicket();
    }
}

Quando o servidor eureka ainda é iniciado, o tíquete de provedor também é iniciado e o aplicativo será adicionado ao eureka

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Como você pode ver, ele foi adicionado. Se você copiar mais cópias e alterar a porta, haverá mais cópias exibidas aqui.

3. Consumidor-usuário (consumidor, cliente)

  • Gravar arquivo de configuração
  • Classe de controle de escrita
  • Adicione anotações e métodos ao programa principal

Também importar
Insira a descrição da imagem aqui

1) Arquivo de configuração

server:
  port: 8200
spring:
  application:
    name: consumer-user

eureka:
  instance:
    prefer-ip-address: true #注册的时候使用服务的IP地址
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

2) Categoria principal do programa

@EnableDiscoveryClient
@SpringBootApplication
public class ConsumerUserApplication {
    
    

    public static void main(String[] args) {
    
    
        SpringApplication.run(ConsumerUserApplication.class, args);
    }

    @Bean //加入到容器中
    @LoadBalanced //使用负载均衡机制
    public RestTemplate restTemplate(){
    
    
        return new RestTemplate();
    }
}

  • @EnableDiscoveryClient: Notas de descoberta de serviço
  • @LoadBalancedUsando o mecanismo de balanceamento de carga, o que é o mecanismo de balanceamento de carga? Tudo o que você precisa saber é que, ao ligar isso, você pode reduzir a pressão na memória.
  • RestTemplate restTemplate()Algo para nos ajudar a enviar solicitações de http

3) Categoria de controle

@RestController
public class UserController {
    
    

    @Autowired
    RestTemplate restTemplate;

    @GetMapping("/buy")
    public String buyTicket(String name){
    
    
        String s = restTemplate.getForObject("http://provider-ticket/", String.class);
        return name + "购买了"+s;
    }
}

  • RestTemplate restTemplateBasta injetar isso automaticamente
  • getForObject("http://服务提供者的名字+服务提供类的控制类请求",发请求类的返回值的类型): O uso de restTemplate http://é fixo, o nome da classe que fornece o serviço é provider-ticket, uma solicitação de sua classe de controle é /, o tipo de retorno dessa classe é String.

4) Efeito

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Este é apenas um aplicativo simples, o mais complexo ainda é o aprendizado

springboot-cloud

Três, implantação rápida

<dependency>  
       <groupId>org.springframework.boot</groupId>  
       <artifactId>spring-boot-devtools</artifactId>   
</dependency>

O que há de novo, ctrl + F9

Acho que você gosta

Origin blog.csdn.net/yi742891270/article/details/107835987
Recomendado
Clasificación