前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nacos初探(一)

Nacos初探(一)

作者头像
黑洞代码
发布2021-01-14 15:39:55
6820
发布2021-01-14 15:39:55
举报

Nacos

1

概述

NACOS致力于帮助您发现、配置和管理微服务。它提供了一组简单而有用的功能,使您能够实现动态服务发现、服务配置、服务元数据和流量管理。

Nacos使构建、交付和管理微服务平台变得越来越容易和快速。它是一种基础设施,采用微服务或云本机方法,支持以服务为中心的现代应用程序体系结构。

2

Nacos到底是什么?

在Nacos中,Service是一等的公民。nacos支持发现、配置和管理几乎所有类型的服务:

  • Kubernetes Service
  • gRPC & Dubbo RPC Service
  • Spring Cloud RESTful Service

3

Nacos的主要特性

  • 服务发现和服务健康检查

nacos支持基于DNS和基于RPC(dubbo/grpc)的服务发现。在服务提供者向本机、OpenAPI或专用代理注册服务之后,使用者可以使用DNS或HTTP发现服务。

NACOS提供实时健康检查,以防止服务向不健康的主机或服务实例发送请求。nacos支持传输层(ping或tcp)健康检查和应用层(如http、redis、mysql和用户定义的协议)健康检查。对于复杂云和网络拓扑(如vpc、边缘服务等)的健康检查,nacos提供代理模式和服务器模式健康检查。naco还提供统一服务健康仪表盘,帮助您管理服务的可用性和流量。

  • 动态配置管理

动态配置服务允许您在所有环境中以集中、外部化和动态的方式管理所有应用程序和服务的配置。

动态配置无需在更新配置时重新部署应用程序和服务。

配置的集中管理使您更方便地实现无状态服务和按需服务实例的弹性扩展。

nacos提供了一个易于使用的用户界面todo来帮助您管理所有应用程序或服务的配置。它提供了一些现成的功能,包括配置版本跟踪、金丝雀/测试版发布、配置回滚和客户端配置更新状态跟踪,以确保安全并控制配置更改的风险。

  • 动态DNS服务

支持加权路由的动态DNS服务使您更容易在数据中心内的生产环境中实现中端负载平衡、灵活的路由策略、流量控制和简单的DNS解析服务。动态DNS服务使您更容易实现基于DNS的服务发现。

nacos提供一些简单的dns api todo,供您管理dns域名和ip。

  • 服务治理和元数据管理

NACOS允许您从微服务平台构建器的角度管理所有服务和元数据。这包括管理服务描述、生命周期、服务静态依赖性分析、服务运行状况、服务流量管理、路由和安全规则、服务SLA和度量。

  • 更多特性

4

Nacos一览

如上图所示,nacos无缝地支持开源生态系统,包括dubbo和dubbo mesh、Spring Cloud、Kubernetes和CNCF。

使用Naco简化服务发现、配置管理和服务治理和管理中的解决方案。使用Nacos,开源系统中的微服务管理非常简单。

  • 环境准备
代码语言:javascript
复制
64bit OS: Linux/Unix/Mac/Windows supported, Linux/Unix/Mac recommended.

64bit JDK 1.8+: downloads, JAVA_HOME settings.

Maven 3.2.x+: downloads, settings.
  • 下载和构建

(1)从github下载源码

代码语言:javascript
复制
unzip nacos-source.zip cd nacos/ mvn -Prelease-nacos clean install -U   cd nacos/distribution/target/nacos-server-0.8.0/nacos/bin

(2)下载运行包

代码语言:javascript
复制
unzip nacos-server-0.9.0.zip  OR tar -xvf nacos-server-0.9.0.tar.gz  cd nacos/bin
  • 启动服务

Linux/Unix/Mac

代码语言:javascript
复制
sh startup.sh -m standalone

Windows

代码语言:javascript
复制
cmd startup.cmd
  • 服务和配置管理

服务注册

代码语言:javascript
复制
http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName.helloworld&ip=20.18.7.10&port=8080

服务发现

代码语言:javascript
复制
http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName.helloworld

发布配置

代码语言:javascript
复制
http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld

获取配置

代码语言:javascript
复制
http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test
  • 关闭Nacos服务

Linux/Unix/Mac

代码语言:javascript
复制
sh shutdown.sh

Windows

代码语言:javascript
复制
cmd shutdown.cmd
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 落叶飞翔的蜗牛 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档