Nacos使用备忘

Nacos使用备忘
1.远程调用:
在pom文件中引入dubbo依赖包以及对应项目的jar依赖包

<!-- Nacos 注册与配置中心 -->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  <exclusions>
    <exclusion>
      <groupId>com.alibaba.nacos</groupId>
      <artifactId>nacos-api</artifactId>
    </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>com.alibaba.nacos</groupId>
  <artifactId>nacos-api</artifactId>
  <version>1.1.4</version>
   <!-- Dubbo dependency -->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>dubbo</artifactId>
</dependency>
<!-- Alibaba Spring Context extension -->
<dependency>
  <groupId>com.alibaba.spring</groupId>
  <artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
  <groupId>com.gtown.cloud</groupId>
  <artifactId>dubbo-registry-nacos</artifactId>
</dependency>
  <!-- omp库存服务信息-->
 <dependency>
  <groupId>com.XXX.omp</groupId>
  <artifactId>user-service-api</artifactId>
  <version>1.0.0-SNAPSHOT</version>
</dependency>
<!-- omp库存服务信息-->
<dependency>
  <groupId>com.XXX.omp</groupId>
  <artifactId>omp-warehouse-service-api</artifactId>
  <version>1.0.1-SNAPSHOT</version>
</dependency>

2.在application.yml

dubbo:
  application:
    name: @artifactId@ #填写pom中的本项目的artifactId
  registry:
    address: nacos://@nacosDiscoveryServerAddr@  #填写注册中心地址
  protocol:
    name: dubbo
    port: 22020
  reference:
    retries: 0
  consumer:
    timeout: 10000
    check: false
    retries: 0
    filter: webUserFilter  #自定义的过滤器
  provider:
    filter: webUserFilter  #自定义的过滤器

3.在bootstrap.yml中

spring:
  cloud:
    nacos:
      discovery:
        server-addr: @nacosDiscoveryServerAddr@ 
        namespace: @nacosDiscoveryNamespace@  #需要选取引用的远程服务相同的命名空间,不然无法调用
        service: xxx-pay # 通常就写项目名称,发布到nacos的的名称
        metadata:
          registerGateway: true
          registerOpenGateway: true
      config:
        server-addr: @nacosConfigServerAddr@
        namespace: @nacosConfigNamespace@
        file-extension: yml
        access-key: @nacosAccessKey@
        secret-key: @nacosSecretKey@
        endpoint: @nacosConfigEndpoint@
        extension-configs:
          - dataId: public-key.yml
          - dataId: redis.yml

4.在启动类上加上@EnableDubbo注解

@EnableDubbo
@Slf4j
@SpringBootApplication
@EnableTransactionManagement #视项目而定是否需要
@EnableAspectJAutoProxy #视项目而定是否需要
@EnableScheduling #视项目而定是否需要
@ServletComponentScan("com.XXX.cloud.order.config")#使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通过@WebServlet@WebFilter@WebListener注解自动注册,无需其他代码。
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        log.info("================SUCCESS==============");
    }
}

5.在具体使用的service中引用项目时

import org.springframework.stereotype.Service;
import com.alibaba.dubbo.config.annotation.Reference;

@Service
public class UmallGoodsServiceImpl implements IUmallGoodsService {

    @Reference(version = "1.0") #版本version就是引用的远程项目包的版本
    private IApiProductSpuService productSpuService;

    @Reference(version = "1.0")
    private IApiChannelItemService channelItemService;
......
}

备注:可以将单个微服务的Iservice单独放在一个package下进行管理,方便外部调用。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值