докер запускает накос

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

Обратите внимание, что версия Nacos 2.0 добавляет новый метод связи gRPC по сравнению с 1.X, поэтому необходимо добавить 2 порта. Новый добавленный порт автоматически генерируется с определенным смещением на основе настроенного основного порта (server.port).

картинаТо есть, если вы хотите использовать докер для запуска nacos, вам нужно открыть два дополнительных порта, иначе доступ может не получиться!

Конечно, если вы используете облачный сервер для работы с вышеуказанным контентом, возьмите в качестве примера облачный сервер Alibaba, вам необходимо открыть соответствующие порты в группе безопасности. Я просто давно такими не пользовался, и вдруг сегодня получил, потерял, а страницу открыть не могу, думал официальное обновление! ! !

Новое пространство имен

Здесь нет описания, потому что я уверен, что вы можете! После завершения модификации авторизуемся под только что созданной учетной записью: issa.

Если вы не знаете, как его настроить, перейдите к моей последней статье, которая представляет собой довольно полное, безмозглое руководство.картина

Настройка разрешений роли пользователя

картина

среда сборки

Здесь указаны не все коды, нужно искать в паблике [Burster] по коду, ответ "1024", можно получить

Версия: все знаю

 <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>

Конфигурация:

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

Основной код:

    @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();
    }
}

запускать

Оба сервиса зарегистрированы

картина

тест

Звонок потребителя производителю был успешным

картина