『MSE』阿里云中“间”力量MSE-Nacos

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 注册配置中心 MSE-Nacos (以下简称 MSE-Nacos),即 Nacos 的企业版,开箱即用的 Nacos 云服务,对 Nacos 内核进行企业级稳定性加固,故障自动检测及恢复、多可用区容灾、推空保护等特性,具有风险管理能力,全局持续分析并管理集群风险;企业级安全基于 RAM 鉴权体系,可构建细粒度的安全控制能力,集成阿里云 KMS 提供配置加密能力,帮企业更安全地使用 Nacos 服务

?  注册配置中心 MSE-Nacos (以下简称 MSE-Nacos),即 Nacos 的企业版,开箱即用的 Nacos 云服务,对 Nacos 内核进行企业级稳定性加固,故障自动检测及恢复、多可用区容灾、推空保护等特性,具有风险管理能力,全局持续分析并管理集群风险;企业级安全基于 RAM 鉴权体系,可构建细粒度的安全控制能力,集成阿里云 KMS 提供配置加密能力,帮企业更安全地使用 Nacos 服务;基于 Alibaba Dragonwell 进行深度调优,比 Nacos 开源版性能提升 50% 以上;企业级易用性,提供推送轨迹、丰富完善的监控报警能力和便利的控制台操作,总的来看,企业版相比开源在稳定、安全、性能和效率方面更具备优势。

本篇要讲的是阿里云微服务MSE的Nacos云服务,正如摘要所描述的那样,MSE-Nacos是一个开箱即用的Nacos云服务,那么说到这里呢,就不得不给大家来讲一下什么是微服务了。

微服务(Microservices)是一种架构风格,它将单个应用程序划分为一组小的服务,每个服务运行在其自己的进程中,并通过轻量级机制(通常是 HTTP API)进行通信。它的主要特征包括:

  • 每个微服务专注于实现单个业务功能,它可以被独立开发、测试、部署和扩展。
  • 微服务采用语言无关的方式进行交互,通常使用简单的 RESTful API。
  • 微服务体系结构可以由不同的编程语言编写,也可以包括不同的存储技术。
  • 每个服务都是独立部署的,服务之间通过服务注册和发现来定位彼此并建立连接。
  • 微服务高度自治和解耦,易于被小团队单独开发。
  • 微服务允许利用云平台进行灵活的自动缩放。
  • 微服务架构通过服务复制和负载均衡提高了系统的可靠性和可用性。

采用微服务架构的优点包括:组件解耦,服务独立扩展,容易持续交付和部署,语言和数据灵活选择。但它也带来了分布式系统的复杂性,例如服务间通信和服务发现等。需要合理划分服务边界,平衡好服务的粒度。

当然,上面对于微服务的描述是网上找的,要用我个人的话说,就是将传统的服务架构进行变更,使整个业务架构中的服务尽可能的独立出来(解耦),某一个部分对于整体架构的影响不再像传统架构那么大,同时整个业务架构变得极其灵活,其可以快速部署以及具有三高(高弹性、高可靠性、高可用性)。

那么回到测评本身来,我们可以发现阿里云的MSE-Nacos全程叫做  注册配置中心MSE-Nacos,大家要注意的一点是,注册 和 配置 是分开的功能哈,如下:

  • 注册:服务发现:MSE-Nacos 作为注册中心,实现应用的服务注册与发现,以及消费者对提供者的调用,配合服务治理实现全链路灰度
  • 配置:服务配置:MSE-Nacos 作为配置中心,实现将应用中的变量、参数等从代码中提取出来,并存入一个配置文件,在需要更改配置时,只需更改此配置文件即可。

本次对于MSE-Nacos的测评,我想通过一个实践案例来为大家演示,如何使用MSE-Nacos来做 服务配置,那么同时,既然Nacos是属于MSE下面的一个服务,那么测Nacos就不能只测Nacos,同样MSE-Higress同样是属于MSE下的服务,所以本篇属于先导篇,对于MSE-Higress的测评属于下文

一视同仁

当然,本次测评也提供了测评视频,对于Nacos的测评部分在视频的前22分钟,后面则是Higress的测评

知根知底

那么通过上面的一些铺垫,咱们应该对微服务这个概念有了大致的了解,那么咱们现在来细致的了解下MSE-Nacos,虽然摘要有提到过,但是咱们只能说知道个大概。MSE-Nacos具体如何,请看下文

源起

Nacos 其实是一款由阿里巴巴开源的、分布式、高可用的动态服务发现、配置中心和命名服务组件。它提供了一种简单、可靠、易于使用的方法来管理分布式系统中的服务和配置。Nacos 提供了丰富的特性,包括服务注册与发现、配置中心、健康检查、命名服务等,可以帮助开发者构建和管理复杂的分布式系统。

商用

那么本文要讲的MSE-Nacos其实是由阿里巴巴开源的微服务引擎 MSE(Microservices Engine)和 Nacos 组合而成的解决方案。MSE 是阿里巴巴开发的一款微服务引擎,可以帮助开发者构建和管理复杂的分布式系统。而 Nacos 是一款分布式、高可用的动态服务发现、配置中心和命名服务组件,由阿里巴巴开源。MSE-Nacos 将 Nacos 引擎集成到 MSE 中,提供了一个完整的微服务解决方案,可以帮助开发者更轻松地构建和管理复杂的分布式系统。

目前MSE-Nacos拥有2个产品版本,分别为:专业版、开发版。两者的差异点就在于前者额外支持推空保护、推送轨迹、DragonWell支持以及支持同城高可用部署。要简单点讲,就是专业版更稳定、更可靠。同时,当前在阿里云上能够供给给大家新购的Nacos只有2.2版本,向前无缝兼容 Nacos 1.x,2.x客户端,支持平滑迁移,性能更强。

纵观全局

既然要对MSE-Nacos测评,那断然不能把某个部分单纯的拿出来讲,我们一定要在全局观的角度来看单个服务,如下图所示,这个是阿里云对于阿里云MSE快速入门所提供的一个图片,个人觉得这个图片非常棒,足以通过这个图片来描述咱们的业务流程,当然,在本例中,咱们主要在MSE整个框架下去讲解MSE-Nacos的注册配置中心。

实践出真知

免费资源,入门无忧!

无论您是否要参加阿里云开发者社区的MSE-Nacos测评,都可以通过下方活动链接领取一个月免费的MSE-Nacos资源

/mission/nacos?spm=a2c6h.26788700.J_4879775480.6.394f10d65gQXP3

前面多次提到,本篇文章会通过一个案例来演示MSE-Nacos作为注册配置中心的使用,如下文步骤所示

背景

以2022年世界技能大赛云计算赛项的架构赛题作为案例,其中使用亚马逊云科技的App Config作为架构中核心服务的配置中心,同样MSE-Nacos也可以实现同样的功能,大致架构图如下

在这个架构图中,存在着两个服务,分别为Root和Stub,都需要读取MSE-Nacos的配置

MSE-Nacos购买使用

本例中,使用开发版作为示例

设置配置

添加root/stub服务的配置

在这个步骤中,以root服务配置为例,在 配置管理 中创建了一个 DataID为root, Group为rootgp的配置

配套Java代码

Gitee仓库地址:https://gitee.com/unicornstar/nacos-demo

示例程序(Java)


在创建MSE-Nacos的配置之后,可以在配置详情页面查看到示例代码,引导开发者进行接口调用

本次实验,模拟2022世界技能大赛云计算赛项的gameday赛题,采用Java编写的模拟程序,演示文章开头部分描述的架构

程序运行示例

微服务部署

在基于java程序读取Nacos配置无误后,我们转为使用容器部署,后续直接迁移到ACK上进行部署

Dockerfile(root为例)

FROM openjdk:8u222-jdk
COPY nacos-root.jar /
EXPOSE 80
CMD ["java", "-jar", "/nacos-root.jar"]

构建运行示例

镜像推送

ASK集群及应用

效果展示

更新配置(root为例)

总结及建议

竞品

从个人使用习惯以及本案例中所使用的AWS AppConfig和MSE-Nacos是非常相似的,在本案例中,MSE-Nacos作为配置中心完美承担了原属于AWS AppConfig的任务,单从配置中心这块来看,个人还是比较站MSE-Nacos的,因为从部署流程上来看,要更快、更简洁。

使用

  1. 整体体验感很好,从实例创建到真正的配置部署,速度相应上,很快
  2. 可以对配置进行监听查询 ,这个确实是一个很棒的功能,可以监控到推送状态,

  1. 示例代码也不错,不用再额外去文档中去查API接口的调用方法了,但有一点小缺陷
  2. 创建nacos实例很快,但是修改参数后,重启有点慢呢,而且在重启阶段刷新详情会提示一些报错,建议是重启阶段可以直接让用户退回上一界面,不进入实例的详情页面。

文档及帮助

站在国内开发者的角度来看,的确阿里云的文档是更适合一些,毕竟是中文,更适合中国宝宝体质!

建议

  1. 在Nacos实例中,存在一个白名单,下面的小字,建议加粗,或者换颜色高亮,这个有可能成为一个忽视的点
  2. 具体配置中有示例代码,代码有一点小缺陷,nacos的包的版本 2.2.3.0 还是会有问题,建议修正下

请看下回分解

本篇到这里就结束了,续篇为《『MSE』阿里云中"间"力量MSE-Higress》,书接本文,继续讲解案例架构!

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
5天前
|
人工智能 Serverless 测试技术
nacos常见问题之Serverless 应用引擎2.0不支持 MSE nacos如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
32 0
|
5天前
|
人工智能 API
阿里云微服务引擎及 API 网关 2024 年 4 月产品动态
阿里云微服务引擎及 API 网关 2024 年 4 月产品动态。
|
5天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 04 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
5天前
|
API
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态。
|
5天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 03 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
5天前
|
Cloud Native 测试技术 Nacos
云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度
本文介绍了如何通过阿里云 MSE 微服务引擎和云效应用交付平台 AppStack 实现灰度发布。
90926 4
|
5天前
|
Cloud Native 测试技术 Nacos
云效AppStack+阿里云MSE实现应用服务全链路灰度
在应用开发测试验证通过后、进行生产发布前,为了降低新版本发布带来的风险,期望能够先部署到灰度环境,用小部分业务流量进行全链路灰度验证,验证通过后再全量发布生产。本文主要介绍如何通过阿里云MSE 微服务引擎和云效应用交付平台AppStack 实现灰度发布。
121416 3
|
5天前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
135 2
|
5天前
|
监控 Dubbo 前端开发
快速入门分布式系统与Dubbo+zookeeper Demo
快速入门分布式系统与Dubbo+zookeeper Demo
44 0
|
5天前
|
消息中间件 Java 网络安全
JAVAEE分布式技术之Zookeeper的第一次课
JAVAEE分布式技术之Zookeeper的第一次课
73 0

相关产品

  • 微服务引擎
  • http://www.vxiaotou.com