ventana acoplable iniciar nacos

docker run --name mynacos -itd -e MODE=standalone -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server:v2.0.3

Tenga en cuenta aquí que la versión Nacos 2.0 agrega un nuevo método de comunicación gRPC en comparación con 1.X, por lo que se deben agregar 2 puertos. El puerto recién agregado se genera automáticamente con un cierto desplazamiento basado en el puerto principal configurado (servidor.puerto).

imagenEs decir, si desea utilizar la ventana acoplable para iniciar nacos, debe exponer dos puertos adicionales, de lo contrario, el acceso puede fallar.

Por supuesto, si usa un servidor en la nube para operar el contenido anterior, tome el servidor en la nube de Alibaba como ejemplo, debe abrir los puertos relevantes en el grupo de seguridad. Simplemente no los he usado durante mucho tiempo, y de repente lo recibí hoy, lo perdí y no podía abrir la página. ¡Pensé que había una actualización oficial! ! !

Nuevo espacio de nombres

No hay descripción aquí, ¡porque estoy seguro de que puedes! Una vez completada la modificación, iniciamos sesión con la cuenta recién creada: issa.

Si no sabes cómo configurarlo, ve a mi último artículo, que es un tutorial bastante completo y sin cerebro.imagen

Configurar permisos de rol de usuario

imagen

entorno de construcción

No todos los códigos se enumeran aquí, debe buscar la cuenta pública [Burster] por código, responder "1024", puede obtenerlo

Versión: saber todo

 <spring-cloud.version>Hoxton.SR12</spring-cloud.version>
 <!-- spring-cloud-2020.0.0 移除了诸多Netflix组件,这里只是为了更好的应用ribbon -->
 <!-- <spring-cloud.version>2020.0.0</spring-cloud.version> -->
 <spring-boot.version>2.3.12.RELEASE</spring-boot.version>
 <spring-cloud-alibaba.version>2.2.7.RELEASE</spring-cloud-alibaba.version>

Configuración:

spring:
  application:
    name: service-name
  cloud:
    nacos:
      # docker启动nacos:
      # docker run --name mynacos -itd -e MODE=standalone -p 8848:8848 -p 9848:9848 -p 9849:9849 nacos/nacos-server:v2.0.3
      discovery:
        server-addr: ip:8848
        namespace: 78e10147-ff76-4e56-8b19-2e2bbd39f750
        group: OSSA_GROUP

Código principal:

    @GetMapping("/{id}")
//    @SentinelResource(value = "producerById", fallback = "error")
    public ResponseEntity<ProducerVO> producerById(@PathVariable(value = "id") String id) {

        ProducerVO producerVO = new ProducerVO();
        producerVO.setId(id);
        producerVO.setPort(port + ": " + UUID.randomUUID().toString());
        producerVO.setConfigBody(config);

        return ResponseEntity.ok(producerVO);
    }
/**
 * 生产者
 *
 * @author issa
 **/

@EnableDiscoveryClient
@SpringBootApplication
public class ProducerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ProducerApplication.classargs);
    }

}
    @GetMapping("/{id}")
    public String consumerById(@PathVariable(value = "id") String id) {

//        ResponseEntity<ProducerVO> responseEntity = producerFeign.producerById(id);
        return restTemplate.getForObject("http://ossa-service-producer/producer/" + id, String.class);
    }
/**
 * 消费者
 *
 * @author issavior
 */

//@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class ConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerApplication.classargs);
    }

    @LoadBalanced
    @Bean
    public RestTemplate restTemplate() {

        return new RestTemplate();
    }
}

puesta en marcha

Ambos servicios están registrados.

imagen

prueba

La llamada del consumidor al productor ha sido exitosa

imagen