【NACOS】的简单使用注册发现与服务配置以及搭配nginx集群

1.服务注册与发现

项目首先添加依赖

   <!--springClould alibaba nacos-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

1.先启动nacos,本次以单机为例,详细可看

【Nacos】win 下使用nacos以及集群下出现错误:Error creating bean with name ‘memoryMonitor‘

1.配置yml文件

server:
 port: 9001

spring:
 application:
   name: nacos-test #自己起名字 会在nacos页面显示,以及用于客户端发现调用
 cloud:
   nacos:
     discovery:
       server-addr: 127.0.0.1:8848 #配置nacos地址

management:
 endpoints:
   web:
     exposure:
       exclude: '*'

2.启动项目,就可以在nacos页面看到
【NACOS】的简单使用注册发现与服务配置以及搭配nginx集群_第1张图片2.服务发现

server:
  port: 83
spring:
  application:
    name: nacps-consumer
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848


#消费者将要去访问的微服务名称(注册成功进nacos的微服务提供者)
service-url:
  nacos-user-service: http:// nacos-test #即服务注册时的spring.application.name

配置负载均衡

@Configuration
public class ApplicationContextConfig {

    @Bean
    @LoadBalanced
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}

进行测试调用

@RestController
public class OrderNacosController {

    @Resource
    private RestTemplate restTemplate;

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


    @GetMapping("/consumer/payment/nacos/{id}")
    public String paymentInfo(@PathVariable("id")long id){
     //  /payment/nacos/ 为服务端接口
        return restTemplate.getForObject(serverURL+"/payment/nacos/"+id,String.class);
    }
}

3.nacos集群搭配nginx

nacos的集群可以看:

【Nacos】win 下使用nacos以及集群下出现错误:Error creating bean with name ‘memoryMonitor‘

nginx配置:


    upstream cluster{
    		server 127.0.0.1:8840;
    		server 127.0.0.1:8850;
    		server 127.0.0.1:8860;

    }

    server {
    		 	listen			1122;
    		 	server_name  localhost;
    		  location / {
    	 			proxy_pass  http://cluster;
    		 	}
    		}

然后集群启动nocas 和 nginx
项目yml配置:

server:
  port: 9002

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        #server-addr: 127.0.0.1:8848 #配置nacos地址
        server-addr: 127.0.0.1:1122 #配置ngnix地址

management:
  endpoints:
    web:
      exposure:
        exclude: '*'

4.服务配置
项目中配置
bootstrap.yml 和 application.yml 文件,因为项目加载过程中优先加载bootstrap.yaml

application.yml 配置为:

spring:
  profiles:
    active: dev #表示开发环境
    #active: test #表示测试环境
    #active: info #表示开发环境

bootstrap.yml 配置为:

server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #nacos作为服务注册中心地址
      config:
        server-addr: localhost:8848 #nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置
        group: DEV_GROUP
        namespace: 123

#nacos 配置规则
#${prefix}-${spring.profiles.active}.${file-extension}
# prefix 项目名 即: spring:application: name: nacos-config-client
# spring.profiles.active 即 spring: profiles: active: dev
# file-extension 即file-extension: yaml

然后登录nacos页面根据上面nacos规则进行配置,然后发布就可以了,如图
【NACOS】的简单使用注册发现与服务配置以及搭配nginx集群_第2张图片

【NACOS】的简单使用注册发现与服务配置以及搭配nginx集群_第3张图片

你可能感兴趣的:(nacos,nginx,java,nginx,nacos,集群)