MSE 开发环境隔离功能介绍|学习笔记(二)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习 MSE 开发环境隔离功能介绍

开发者学堂课程【服务发现与配置管理高可用最佳实践MSE 开发环境隔离功能介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/971/detail/14892


七、如何用起来-IDEA 应用接入 MSE

image.png

点击 IDEA 的 Tools 中找到 Alibaba Cloud 中的 Preference,找到 Alibaba Cloud Toolkit中Microservice 下的 MSE,点击开启微服务治理。使用 Cloud Toolkit 插件,即可将本地应用打上 MSE 的标签。

 

八、如何用起来-Cloud toolkit 端云联调

image.png

其实自己的办公网跟阿里云上的这个VPC网络,它其实隔离是没有打通的,这个时候要怎么实现我这个本地的应用,它可以去访问到云上的这个时候其实需要借助这个 cloud toolkit 的这个端云联调这个功能,来通过这个通道服务,通过这个 interest port 去跟这个 provide 进行一个互联互通。

在这一块使用起来也是比较简单,只需要把这个 K8S 进行的 config 文件保存到本地,然后再在这个 micro service下的这个端云互联里面进行一个配置。然后就可以使用。


九、Demo 实操

image.png

首先复制网址,然后在浏览器中打开。打开之后其实可以看到这篇文章,这文章其实在最开始的部分就是这些背景简介部分。如何使用MSE开发环境隔离这个特性这一块。从这里可以看到产品分析,从这里开始是如何进行一步一步去使用我们的这个开发环境隔离去实现这个微服务敏捷开发的。

首先是需要登录MSE治理中心的控制台MSE治理中心的控制台登录之后去开通一个敏捷版,完成基线环境的接入,基线环境这一块演示是通过一个阿里云的ack集群里面的。在接入的时候需要安装一个MSE治理的组件,可以看到这个容器服务的控制台,将端云互联的集群推出到外面,在这个容器服务里面有一个应用市场,单击这个应用市场,找到微服务,然后点击这里有一个ACK MSE Pilotal 。点击进去,选择一键部署。

找到刚才那个端用户联机群,这些命名空间和发布的名称都是默认的,不需要修改,直接点击下一步。

image.png

然后,这里面内容也是不需要修改的直接确定就可以安装。可以在这边去确认一下有没有启动完成刷新一下。可以看到有一个 MSE pilot 的命名空间。然后进去看这两个,已经都启动完成了。

image.png

再回到MSE的管理的控制台。点击这个K8S集群列表,这是北京这个机器。可以看到,这里有一个端云互联的,这个集群已经接入了 MSE 微服务治理。

image.png

在这里面需要给这个default命名空间,开启微服务治理。在这点击。开始微服务治理,确定。现在就已经开启了,那接下来在这个default命名空间部署的这个Java应用,他都会直接接入这个MSE的微服务治理的。

回到这个文档里面这第一步接着MSE,这里已经成功了,同时这也是开启了这个default 命名微服务治理这个功能接下来是要部署这个基线环境,部署一个demo上去,然后在这里面可以看到demo的架构是这样的,有一个网关去掉a应用再去掉B应用,在调C应用是这么一个流程,然后这里面也有一个github地址。直接把它打开,可以看到这个部署的源码,其实他就是再github上,因为这里演示就是把本地的一个a应用启动,然后进入需求一环境,然后去调用。首先要部署这个基线环境的应用,首先将复制的内容粘贴到这里,然后可以发现复制内容里面有一些这个地址其实是错误的,就是这个很多个X这一块。

因为这里面其实有一个限制,就是使用端云互联的话,这个注册中心的地址要需要使用是MSE的那个组合中心,所以这里要进行一个替换。比如这里的那个地址是这个。所以要把它换成正确的地址,就是找到这些地方进行一个替换的动作。然后在这个k8s集群上进行一个部署找到基线服务控制台,这里有一个使用样板创建资源,在这里面都删除掉完整原封不动的复制粘贴过来,点击创建。然后可以看到这个其实已经创建成功了。去看他一个状态,这边已经是都启动成功了,在MSE的控制台上去过滤一下这个应用,可以看到这些应用都是接入MSE这里是成功了,而且实例数量都是1。再回到注册中心这里面看一下刷新。

可以看到,这些ABC的swing call的服务,和他们对应的这个double服务,其实都已经是注册到这个注册中心了。这一步就说明说这个基线环境已经是接入了MSE的微服务治理。就是这个应用列表也是能看到对应的应用实例也是正确的。在此之前提到使用专用互联功能是需要把K8S进行的config文件配置到本地的,先配置一下,找到集群信息,链接信息复制。更改一下kebu文件保存本机,配置成功之后执行一下这条命令。

去看一下这个 service 还是 deployment 的情况,这里面可以看到,它对应的这个公网IP是这个123开头。访问一下。就是在这里面的八零端口对应的 a 大 a,小 a。这么一个 url。可以看到访问之后,他其实会返回一个 ABC 这么一个链路,然后包括 a 对应的 IP B 对应的 IP 和 C 对应的 IP。

image.png

那现在就是说一个基线环境的返回,现在要做的事情就是说要开发这个a,让这个a feature环境在本地的ID里面启动,并且接入了这个集群里面。同时通过一些配置,就可以让流量准确的先到a的feature环境,然后再去B和C。

首先的话其实是想要去开发,要下载源码,源码是在这个github上,就是这个阿里云下的阿里巴巴 cloud micro service 的应用,首先是需要做两个配置的,一个配置是这里面的 Cloud toolkit 这个 accounts 就是首先应该是需要安装这个 alibaba cloud toolkit 然后去做一些配置。找到这个阿里巴巴 cloud toolkit 这个 preference 里面。

image.png

首先是要配一下这个账户,账户就AKSK,然后找到这个micro service,因为要使用专用互联,在这里面打开专用互联功能选择,然后刚才使用的集群是北京的这个集群,在这里选择就好了。选择这个对应的这个。Nacos集群的这个ID的命名空间啊,这个20001要要单独提一下,就是说这次要看开发是a应用,它其实启动的端口,这个20001,要在这里面去打这个20001,就是说a应用的tomcat,它监听的端口填到这儿,然后代理这里面填的选择是K8S。这个代理怎么配置呢?

这个 proxy 这里面,然后在这个代理类型里面点一下 add 去增加一个代理类型,选择这个 K8S,然后去选择刚才我配置的这个 kube config 这个文件,然后点 OK 就可以了。

image.png

在这里面选择确认这个a应用,它可以连接上这个北京MSE nacos同时他也可以跟这个B应用,C应用,还有这个网关应用互相通信。这是第一步,然后点击应用,然后第二步就是说要把这个a应用接入到这个MSE里面,这里面是做一个配置的点,开启行微服务治理,然后要点开一下微服务度这些都选上,然后因为Agent在北京,其实是要跟这个进行一一对应的开发是spring cloud A应用,来这里就添spring cloud A应用,今天开发的feature1环境,去填选feature1,这个可以随便填的, 然后这个nacos key,就是在这里面,可以在这里面找到ECS起源,然后走到这里面会有一个 license key,完成这一步之后,点确定,然后去启动这个A应用就可以了,在ID里面启动。这里面会提示一个端云互联已启用,选择 OK。

他这里会创建一个 proxy Deployment 就是通过这个来进行一个互联互通的,等待启动完成。

image.png

在这里面已经可以看到了,这个应用其实已经接入了有一个IP,这就是说我本机的这个IP已经接入了,同时它这个标签是feature1在这个监控里面可以看到,因为网关不断有流量,再打不过来,她所有的流量都是去未达标环境的,虽然feature1的应用是启动了,但是没有流量进来的。这个时候来验证一下,就是怎样才能把流量发到我这个本地的,这时候其实只需要给他加一个had。比如说这个是feature1环节。在输入这个返回值里面显示这个 A feature1环境,然后他的 IP 是192的 IP,其实这是本机的另外一个 IP。另外一个网关可以看一下,这确实是本机的一个 IP,然后当这个 had 里面不带内容的时候。

image.png

他其实访问的还是基线环境。这是一个非常方便的方式,就可以说我们灵活的去控制这个had里面有一个xmsetag为feature1的这个流量,他一定会去这个a的feature环境。回到这个页面,就是有些同事可能会觉得一定要加这个had是一个比较麻烦的方式,有没有一个其他的方式,就是可以自由的控制哪些流量,回到这个 spring cloud a,用这个界面找到这个标签路由,对这个 feature1配置一个流量规则就可以实现,这里 path 的话,是需要选择这个路径,因为在留空的话就代表任何路径。

image.png

这边把它留空,然后比如说要参数内部等于hello,都来 feature1,就这么配置,点击开启,点击确定,配合这个规则之后现在其实不需要这个再去配置had,去配置一个 name 等于 hello。

image.png

可以看到这个流量也是回到这个 feature1环境。这也是非常的方便,然后如果说有其他的方法,可以进行更详细的配置,这个可以参考 MSE 的帮助文档里面的标签路由有这个详细的每个参数的说明是什么意思,都有比较详细的解释。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
10月前
|
监控 Dubbo 网络协议
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发(下)
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发(下)
156 0
|
10月前
|
消息中间件 监控 Dubbo
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发
【SpringBoot学习笔记 十四】SpringBoot+Dubbo+Zookeeper集成开发
121 0
|
10月前
|
监控 Java
Java 最常见的面试题:zookeeper 都有哪些功能?
Java 最常见的面试题:zookeeper 都有哪些功能?
|
10月前
|
存储 缓存 负载均衡
认识 Zookeeper -基本概念,组成和功能
认识 Zookeeper -基本概念,组成和功能
107 0
|
11月前
|
弹性计算 自然语言处理 运维
带你读《企业级云原生白皮书项目实战》——4.2.2 MSE功能介绍
带你读《企业级云原生白皮书项目实战》——4.2.2 MSE功能介绍
|
存储 容灾 数据管理
MSE ZooKeeper 数据导入导出功能上线
MSE 提供了托管版的 ZooKeeper,拥有比自建开源 ZooKeeper 稳定性更高的SLA,同时管控面提供了丰富的服务自治功能。赶在2022年的岁末,MSE ZooKeeper 上线了一个非常实用的功能-数据导入导出功能,彻底解决了困恼用户长期以来无法自助处理数据的问题。
MSE ZooKeeper 数据导入导出功能上线
|
缓存 监控 网络协议
MSE 风险分布管理功能发布(二)| 学习笔记
快速学习 MSE 风险分布管理功能发布。
185 0
MSE 风险分布管理功能发布(二)| 学习笔记
|
Java Linux API
|
API 数据安全/隐私保护
|
存储 负载均衡 Java