何为MSE-Nacos
MSE-Nacos 是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它主要用于微服务架构,可以做到快速的服务自动发现、做出及时的配置更新等。能帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
产品试用
在评测活动页,点击下图的立即试用。如下:
在配置信息页,需要保持同ECS同一个地域,专有网络和交换机同样需要同ECS实例保持一致,其他保持默认,点击立即试用。如下:
完成上述操作后,点击管理试用。如下:
前往MSE控制台,可以看到nacos实例已创建。如下:
至此,一个MSE-Nacos实例就完成了开通试用。
场景体验
基于MSE-Nacos实现服务的动态发现和配置动态管理
- 体验如何将应用通过云服务器ECS(Elastic Compute Service)接入到微服务引擎MSE(Microservices Engine)的Nacos引擎上,并使用 MSE Nacos 引擎进行服务的动态发现和配置动态管理。
在开始体验前,需要先准备一个ECS实例,并保持和MSE-Nacos在同一个地域。可在ECS实例的网络信息中查看。如下:
接下来需要在ECS上安装必要的开发组件,先安装JDK。通过Workbench远程连接登录ECS主机。如下:
#在线安装JDK yum install -y java-1.8.0-openjdk-devel #查看JDK版本 java -version
#部署应用程序 cd ~ && curl -OL https://mse-demo.oss-cn-beijing.aliyuncs.com/free-tier-demo.tar.gz && tar -zxvf free-tier-demo.tar.gz && cd free-tier-demo
前往MSE控制台,在实例列表页面,单击目标实例名称。在基础信息页面,获取实例连接的内网地址。如下:
#启动应用程序,${mse.nacos.address}为nacos的内网地址 bin/start-demo.sh -e ${mse.nacos.address} # 如 bin/start-demo.sh -e mse-3a7bxxxx-nacos-ans.mse.aliyuncs.com
返回结果如下,表示您已成功启动启动服务。如下:
在Web Terminal中, 执行以下命令可查看服务信息。如下:
curl localhost:18084/kid/info
在MSE控制台的左侧导航栏,选择服务管理—服务列表。在服务列表页面,命名空间选择public,您可以看到两个服务,分别为father和kid。如下:
在kid服务详情页面,可查看到kid服务的相关信息,然后单击订阅者。在订阅者页签,可查看到1个订阅者地址。如下:
在father服务详情页面,可查看到father服务的相关信息。如下:
接下来为father服务添加一个配置,在配置列表页面,命名空间选择public,然后单击创建配置。如下:
在创建配置面板,Data ID配置为father.properties,Group配置为demo,右侧配置内容配置为father.name=hz-nacos,配置完成后单击发布。如下:
在ECS执行如下命令,可看到返回结果为hz-nacos。如下:
curl localhost:18084/name
接着为kid服务添加一个配置,在配置列表页面,命名空间选择public,然后单击创建配置。如下:
在创建配置面板,Data ID配置为kid.properties,Group配置为demo,右侧配置内容配置为如下内容,配置完成后单击发布。如下:
在ECS执行如下命令,可看到返回结果为上述配置的。如下:
curl localhost:18084/kid/message
执行如下命令,可以看到返回的结果为配置定义的信息。如下:
curl localhost:18084/kid/info
单击配置列表的如下图的配置按钮,可实现对信息的修改。
至此,一个基于MSE-Nacos实现服务动态发现和配置动态管理的场景体验就完成了。体验过程没有发现异常,不过需要注意的一点就是,服务所在的ECS实例需要保持同MSE-Nacos服务在同一个地域,否则可能会出现未知的异常。
体验总结
MSE-Nacos相较于Nacos开源版本,具有更加稳定、安全、高性能以及更方便的控制台操作等特性。
- 在功能方面:MSE-Nacos提供了更多的功能,例如故障自动检测及恢复、多可用区容灾、推空保护等特性,这些是开源版本所不具备的。另外,MSE-Nacos还提供了全局持续分析并管理集群风险的能力,这在很大程度上提升了系统的稳定性和可靠性。同时,基于RAM鉴权体系,MSE-Nacos可以构建细粒度的安全控制能力,这在很多企业级应用中是非常重要的。
- 上下游集成:MSE-Nacos还提供了推送轨迹的功能,这使得其可以方便地和上下游系统进行集成。例如,在微服务架构中,MSE-Nacos可以作为一个重要的组件,协调和管理各个微服务的注册和发现,以及配置的管理和分发。
- 控制台体验:MSE-Nacos提供了丰富的监控报警能力和便利的控制台操作,使用户能够更加方便快捷地了解系统的状态并进行相应的管理。比如,通过控制台,用户可以直观地查看服务的状态、配置信息以及进行一些简单的操作,大大提高了管理员的效率。
- 性能:MSE-Nacos的性能相较于Nacos开源版本有明显提升。根据阿里巴巴的测试结果,基于Alibaba Dragonwell进行深度调优的MSE-Nacos在性能上比Nacos开源版高出50%以上。这主要得益于MSE-Nacos对Nacos内核进行了企业级稳定性加固,以及优化了故障自动检测及恢复、多可用区容灾等特性。
- 社区体验:在社区体验方面,Nacos作为开源项目,有着较为活跃的社区和大量的贡献者。MSE-Nacos作为其企业版,也受到了社区的积极支持和反馈。不过由于其为阿里巴巴的定制版本,可能在社区的接纳程度上稍显不足。
MSE-Nacos产品提供了较为丰富的操作文档,包括安装指南、配置说明、操作手册等方面的文档,涵盖了产品的基本使用和配置方法。这些文档的描述也相对完整和准确,对于用户了解和掌握MSE-Nacos产品有着一定的帮助。然而,如果深入到更具体的应用场景和操作细节,可能存在一些不足之处。例如,对于某些高级功能或者特殊配置的说明可能还不够详细,用户在操作过程中可能会遇到一些困惑。此外,如果能够提供更多生动的案例和最佳实践,可能能够帮助用户更好地理解和应用MSE-Nacos产品。
MSE-Nacos提供了迁移工具,可以帮助您将应用程序从其他配置中心迁移到MSE-Nacos。这个工具可以自动化地导出和导入配置数据,并确保数据的一致性。
MSE-Nacos具有风险管理能力,可以全局持续分析并管理集群风险。它可以识别潜在的问题并采取相应的措施来避免或减少风险。这种能力可以帮助您更好地管理您的应用程序和数据。
MSE-Nacos提供了推空保护功能,可以防止将无效的配置推送到客户端。当检测到无效的配置时,MSE-Nacos会自动将其隔离,并通知管理员进行处理。这个功能可以确保您的应用程序只使用有效的配置数据。
MSE-Nacos提供了推送轨迹功能,可以记录配置的推送历史和操作记录。这个功能可以帮助您了解配置的变化和影响,并方便地进行追踪和排查问题。
MSE-Nacos可以与端点(Endpoint)和云平台(Cloud Platform)进行互联。这个功能可以帮助您将您的应用程序与MSE-Nacos进行集成,并实现自动化的配置管理和监控。
MSE-Nacos作为一款注册配置中心,与Spring Cloud、Dubbo和Kubernetes(K8s)等开源技术进行良好的配合。与Dubbo集成,能提供更高效的分布式服务调用。Dubbo是一个高性能、轻量级的开源Java RPC框架,可以用于构建分布式应用程序。与Kubernetes集成时,可以提供一些额外的功能,例如动态DNS服务、健康检查和故障隔离等。