当前位置: 代码迷 >> 综合 >> SpringCloud学习记录 | 第十四篇:SpringCloudAlibaba Nacos服务注册中心
  详细解决方案

SpringCloud学习记录 | 第十四篇:SpringCloudAlibaba Nacos服务注册中心

热度:18   发布时间:2024-02-09 22:40:18.0

Nacos 

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

参考资料:https://nacos.io/en-us/docs/what-is-nacos.html

注册中心对比

服务注册于发现框架 CAP模型 控制台支持 社区活跃度
Eureka AP 支持 低(2.x版本闭源)
Zookeeper CP 不支持
Consul CP 支持
Nacos AP/CP 支持

 

下载、安装Nacos注册中心服务器

参考资料:https://nacos.io/en-us/docs/quick-start-spring-cloud.html

Nacos服务端:

到Nacos的github官网下载就好了,我这里下载的1.1.4(https://github.com/alibaba/nacos/tags)。解压到本地,直接运行:startup.cmd

访问:http://localhost:8848/nacos(默认端口8848,默认密码账号:nacos)

接下来我们配置Nacos的client端(SpringCloudAlibaba的pom依赖和NacosClient的pom依赖):

(我这里创建了三个服务,其中一个调用另外两个来实现负载均衡小效果:cloudalibaba-consumer-order-11001来调用cloudalibaba-provider-payment-10001和cloudalibaba-provider-payment-10002)

            <!--spring cloud 阿里巴巴--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.1.0.RELEASE</version><type>pom</type><scope>import</scope></dependency>
     <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

接下来就是我们在配置文件中配置注册中的地址等等(和Eureka一样的):

server:port: 10002spring:application:name: cloud-alibaba-payment-service#nacos注册地址cloud:nacos:discovery:server-addr: localhost:8848

由于nacos-discovery集成了ribbon,所以我们使用RestTemplate(需要加上注解:@LoadBalanced)就能实现负载均衡的功能了。

@Configuration
public class Config {@Bean@LoadBalancedpublic RestTemplate getRestTemplate(){return  new RestTemplate();}
}

启动三个服务我们在Nacos后台界面就能看到三个服务实例已经注册到上面:

接下来就是模拟业务逻辑去调用了(参考示例代码)。

 

其他

1.参考代码:https://github.com/TianLuhua/springCloud2020.git

2. Nacos注册中心:需要自己下载、部署

3. 服务调用:cloudalibaba-consumer-order-11001

4. 服务提供:cloudalibaba-provider-payment-10001和cloudalibaba-provider-payment-10002