从0到1实战微服务架构之Nacos下载安装

发布时间:2024年01月10日

目录

一、前言

二、Nacos概述

三、Nacos架构

3.1 Open API

3.2 Config Service

3.3 Naming Service

3.4 Nacos Core

3.5 Consistency Protocol

四、Nacos部署实践

4.1 Nacos下载

4.2 Nacos部署

五、总结


一、前言

Nacos是一个开源的、易于使用的、功能丰富的平台,用于构建云原生应用,具有服务发现、服务检测、动态配置管理等功能。在上篇系列文章中?从0到1实战微服务架构之打造在线营销平台? 介绍到注册中心使用Nacos,本篇就来介绍如何使用nacos搭建注册中心。

二、Nacos概述

Nacos是Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助开发者快速实现动态服务发现、服务配置、服务元数据及流量管理,从而帮助开发者更敏捷、更容易地构建、交付和管理服务平台。

Nacos几乎支持所有主流类型的服务的发现、配置和管理,包括Kubernetes、gRPC、Dubbo、SpringCloud RESTful Service等。

总的来说,Nacos是一个用于构建云原生应用的强大平台,提供了丰富的功能和服务,使开发者能够更快速地构建、交付和管理微服务平台。

三、Nacos架构

Nacos的架构采用了微服务架构风格,将服务拆分为自治的小服务,这些小服务相互协作,形成一个完整的应用系统。Nacos架构主要包括注册中心、配置中心、健康检查、API网关等,具体的架构如下图所示:

3.1 Open API

Nacos的OpenAPI是Nacos提供的开发API,它使得服务提供者可以使用原生的SDK、OpenAPI或者独立的Agent进行服务的注册,而服务消费者可以使用DNS或HTTP&API进行服务的发现。通过OpenAPI,开发者可以更方便地与Nacos进行交互,实现服务的动态管理。

3.2 Config Service

Nacos的Config Service是用于获取配置、添加监听器、移除监听器、发布配置和移除配置等操作的配置服务。它通过ConfigFactory类创建,可以通过反射调用NacosConfigService的构造方法来创建ConfigService的实例。

总的来说,Nacos的Config Service是用于集中和动态管理所有服务的配置信息的配置中心,实现了动态配置管理的重要功能。

3.3 Naming Service

Nacos的NamingService是用来实现服务注册、服务订阅、服务发现等功能的API,通过这个API就可以跟Nacos服务端实现通信。Nacos的NamingService提供了服务的上下线、服务实例查询、根据健康状态查询实例列表、根据随机权重算法查询单个健康实例、服务监听器订阅/取消订阅、分页查询服务列表等众多能力。

3.4 Nacos Core

Nacos Core是Nacos的一个重要组成部分,是一个开源的系统,也是一个网络监控系统。它可以帮助用户监视指定的主机和服务,并在这些设备出现问题时通知管理员。

3.5 Consistency Protocol

Nacos的Consistency Protocol是一致性协议,用于实现Nacos集群节点的数据同步。具体来说,Nacos使用Raft算法来实现一致性协议。通过Raft算法,Nacos可以确保集群中各个节点之间的数据同步,保持数据的一致性和可靠性。这种一致性协议对于实现高可用、可扩展的云原生应用至关重要,能够保证服务的稳定性和可靠性。

四、Nacos部署实践

4.1 Nacos下载

1. 打开Nacos官网?home?前往Github上下载

2.?打开Nacos Github主页,点击Release,点击tags,可以看到所有的版本,选择自己需要的版本下载?

?点击进行下载。

4.2 Nacos部署

1. 解压tar.gz包

tar -xvzf nacos-server-2.3.0.tar.gz

2. 修改配置端口,默认端口8848

3. 启动? ./startup.sh

4. Nacos登录,默认账号密码nacos/nacos

五、总结

本文简要介绍了Nacos的概述、架构以及如何下载安装Nacos,后续的文章将继续就Nacos进行介绍,比如如何做服务注册、服务发现等功能。

文章来源:https://blog.csdn.net/flyingcloude/article/details/135512529
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。