学习nacos总结

nacos作为注册中心和配置中心

注册中心依赖:

org.springframework.cloud
spring-cloud-starter-alibaba-nacos-discovery
0.9.0.RELEASE

配置中心依赖:

org.springframework.cloud
spring-cloud-alibaba-nacos-config
0.9.0.RELEASE

配置中心必须配置在 Bootstrap.yml 或Bootstrap.properites文件中, 不能配置在 application.yml(properites)文件中
加入配置中心和注册中心依赖, 配置文件中就必须要配置信息(否则去除依赖)

nacos配置
启动类加入注解 @EnableDiscoveryClient 说明服务加入注册中心

nacos服务配置中心配置:(dataId 模式: ${prefix} - ${active } . yml(或者properites))
在这里插入图片描述

服务之间的调用可以使用 feign 和 templetement 注意:服务名必须和配置文件中的匹配(一致)

  1. fegin模式:

① 加入依赖:

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>


    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-loadbalancer</artifactId>
    </dependency>

 启动类加入注解 @EnableFeignClients

② 创建接口feignclient:

@FeignClient(value = “nacos-provider” ) //提供者的服务名
public interface ProviderClient {

@GetMapping("/hi")
String hi(@RequestParam(value = "name", defaultValue = "forezp", required = false) String name);

}

③ 控制层注入并且调用

@Autowired
ProviderClient providerClient;

 @GetMapping("/hi-feign")
public String hiFeign(){
    return providerClient.hi("feign");

}

④ 采用loadbalance实现负载均衡

可以启动2个提供者,端口号分别为8761和8762, 多次重复调用消费者,可以出现依次调用8761和8762效果。

  1. RestTemplate模式


    加入依赖

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-ribbon</artifactId>
            </dependency>
    

②启动类加入

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

③控制层加入代码进行调用

/**
 * 法二.  服务之间调用采用 restTemplete
 * 注意:    nacos-provider   为提供者的服务名
 */
@Autowired
RestTemplate restTemplate;

@GetMapping("/hi-restTemp")
public String restTemp(){
    return restTemplate.getForObject("http://nacos-provider/hi?name=resttemplate",String.class);
}

安装完nacos,启动报错,解决方案?

默认为集群,可以修改 application…properties

1.数据库配置 (本地数据库执行conf/nacos-mysql.sql 和 schema.sql)
spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=12345678

2.增加
nacos.core.member.lookup.type=file

项目地址:添加链接描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值