nacos如何做注册中心?服务注册之后自带负载均衡,这一篇文章就够了!

目录

 

服务提供者

pom文件要加上:

服务提供者的yml配置:

服务提供者主启动类:

启动nacos之后,启动服务提供者

服务消费者

服务消费者pom要加上:

消费者yml配置:

消费者controller:

加上restTemplate配置:

测试一下吧!


服务提供者

pom文件要加上:



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery



    org.springframework.boot
    spring-boot-starter-web


    org.springframework.boot
    spring-boot-starter-actuator

服务提供者的yml配置:

server:
  port: 9001

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #配置Nacos地址

management:
  endpoints:
    web:
      exposure:
        include: '*'

服务提供者主启动类:

@EnableDiscoveryClient
@SpringBootApplication
public class PaymentMain9001
{
    public static void main(String[] args) {
            SpringApplication.run(PaymentMain9001.class, args);
    }
}

启动nacos之后,启动服务提供者

nacos如何做注册中心?服务注册之后自带负载均衡,这一篇文章就够了!_第1张图片

服务消费者

服务消费者pom要加上:



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery

自带ribbon负载均衡

nacos如何做注册中心?服务注册之后自带负载均衡,这一篇文章就够了!_第2张图片

消费者yml配置:

server:
  port: 83

spring:
  application:
    name: nacos-order-consumer
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

#消费者将要去访问的微服务名称(注册成功进nacos的微服务提供者)
service-url:
  nacos-user-service: http://nacos-payment-provider

消费者controller:

@RestController
@Slf4j
public class OrderNacosController
{
    @Resource
    private RestTemplate restTemplate;

    @Value("${service-url.nacos-user-service}")
    private String serverURL;

    @GetMapping(value = "/consumer/payment/nacos/{id}")
    public String paymentInfo(@PathVariable("id") Long id)
    {
        return restTemplate.getForObject(serverURL+"/payment/nacos/"+id,String.class);
    }
}

加上restTemplate配置:

@Configuration
public class ApplicationContextConfig
{
    @Bean
    @LoadBalanced//一定要加这个,用作负载均衡!
    public RestTemplate getRestTemplate()
    {
        return new RestTemplate();
    }
}

测试一下吧!

你可能感兴趣的:(springcloud,java)