搞微服务用阿里开源的 Nacos 真香啊


搞微服务用阿里开源的 Nacos 真香啊

文章插图
 
本文作者:HelloGitHub-秦人
HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来一款开源 JAVA 版可以实现动态服务发现,配置和服务管理平台——Nacos,它是阿里巴巴团队推出的,符合国人的一切使用习惯,并且中文文档丰富,开源社区也特别活跃 。
项目源码地址:https://github.com/alibaba/nacos
一、项目介绍在选择使用一个工具之前,我们先大概了解一下它的同类型产品,这样更能看出它的价值 。
搞微服务用阿里开源的 Nacos 真香啊

文章插图
 
提供了一组简单易用的特性集,帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理 。主要特性:
  • 服务发现:支持基于 DNS 和基于 RPC 的服务发现 。服务提供者使用 原生SDK、OpenAPI、或一个独立的 Agent TODO 注册 Service 后,服务消费者可以使用 DNS TODO 或 HTTP&API 查找和发现服务 。
  • 服务健康监测:提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求 。
  • 动态配置服务:动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置 。
  • 动态 DNS 服务:动态 DNS 服务支持权重路由,使用者更容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单DNS解析服务 。
  • 服务及其元数据管理:Nacos 能让使用者从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据 。
Nacos 生态图
搞微服务用阿里开源的 Nacos 真香啊

文章插图
 
二、SpringBoot 实战Nacos 主要的功能有配置中心和注册中心 。
  • 配置中心:通过在 Nacos 上配置用户名,在不重启微服务的情况下实现动态获取配置信息功能 。
  • 注册中心:创建两个微服务:服务提供者和服务消费者,实现微服务间调用 。消费者要调用提供者的接口,只需要声明提供者的微服务名称和接口的请求地址,Nacos 就可准确地找到到对应的接口 。
2.1 运行 Nacos下载地址:https://github.com/alibaba/nacos/releases
unzip nacos-server-$version.zip  #解压cd nacos/binstartup.cmd -m standalone #单机模式访问首页
Nacos 的访问地址:http://localhost:8848/nacos/ 默认账号密码:nacos nacos
页面截图如下:
搞微服务用阿里开源的 Nacos 真香啊

文章插图
 
2.2 配置中心创建微服务项目
创建 SpringBoot 项目主要有三种方式:通过网站创建,IntelliJ IDEA 的 Spring Initializr 工具创建,Maven 创建项目形式创建 。
项目的pom 文件内容如下:
    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-test</artifactId>        <scope>test</scope>    </dependency>    <!--nacos-config的Spring cloud依赖  -->    <dependency>        <groupId>org.springframework.cloud</groupId>        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>        <version>0.9.0.RELEASE</version>    </dependency>bootstrap.yml 配置
spring:  Application:    name: nacos-config  cloud:    nacos:      config:        server-addr: 127.0.0.1:8848        file-extension: yaml        prefix: nacos-config  profiles:    active: dev


推荐阅读