ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何快速搭建微服务开发测试环境

2021-09-05 12:32:17  阅读:145  来源: 互联网

标签:服务 代码 nacos mysql 组件 快速 测试环境 搭建


一、背景

作为后端开发一名,在某天下午接到紧急任务,需要根据客户需求快速搭建一套微服务架构的开发测试环境,以供客户联调。但是我们是小公司资源有限,在个人电脑上部署又很难对外提供服务。

经过一番查找,市场上符合开箱即用条件的厂商不多,有一些还是需要公有云或私有云部署,能提供开箱即用的SaaS化服务的就更少了。

比如:华为云提供了软件开发平台DevCloud,腾讯云收购CODING后也推出了自己的研发管理平台,但是要使用这些大厂的服务,就要为他们的其他生态工具买单,在前期投入有限的情况下,只能放弃。

二、CODING

我们先来看一下CODING,功能很完善,从文档管理、项目协同到部署测试,但是部署资源却需要自己准备,官方只提供有效期为6个小时到示例集群。

三、华为云

华为云提供的软件开发平台DevCloud同样也有类似的功能,不过这类云服务运营商,通常只能将应用部署在自家云服务器上。

四、StarOS

最后在朋友的推荐下,发现有一个名叫StarOS的一站式云原生在线开发平台,正在进行公开试用,各项服务暂时免费,提供免运维的容器集群,开箱即用的研发设施,非常符合我的需求。

StarOS主要分为:应用工厂、应用商店、云端编码三大板块。

1. 应用工厂

应用工厂顾名思义就是应用生产、发布的地方。StarOS最大的特色就是使用了组件化、可视化、可拖拉拽的应用编排模式,使得整个架构一目了然,非常清晰。

2. 应用商店

在应用商店里是平台内置的应用,可供用户快速发布自己想要的应用。

3. 云端编码

云端编码也就是在线IDE,可以在线编辑代码组件所引用的代码并推送。

五、搭建微服务架构图

为了方便其他人员维护,特次记录一下过程。

首先要做的准备工作:

  1. 确保在代码中使用环境变量来读取被调用服务地址,并上传至GitHub。
  2. 准备好nacos的docker镜像(nacos/nacos-server:latest)。
  3. 准备好mysql8的docker镜像(mysql:8)。
  4. 准备好mysql数据的初始化脚本,在mysql数据库发布后执行(https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql)。

1. 搭建mysql

首先新建一个mysql8的项目,使用镜像组件发布一个mysql应用,发布成功后使用nacos的sql脚本初始化数据库。

镜像组件的使用比较简单,只需架构图中拖入一个镜像组件,并在镜像地址栏中填写mysql8的docker镜像地址就好了。

如下图。

然后配置mysql8组件的参数,暴露网络服务端口号3306。

设置环境变量MYSQL_ROOT_PASSWORD为组件参数PASSWORD,组件参数是组件对外提供的可配置选项,参数的值将由用户在发布组件时录入,也可以通过组件间连线由其他组件的输出参数传入。

再设置mysql的存储路径用于数据持久化。

组件设置完成后保存架构图,点击发布按钮就可以发布mysql应用了。

在应用发布界面,mysql的访问地址和3306端口都会随机生成,当然也可以自行定义。

填写好参数PASSWORD的值和mysql数据持久化的数据卷就可以发布了。

发布成功后,就可以通过mysql的访问域名和端口进行连接了。

可以用navicat连接数据库,然后用nacos的sql脚本初始化mysql数据库。

为了让mysql数据库在其他项目中被使用,可在发布-运维监控界面点击组件的更多设置,打开允许项目外调用的开关。

数据库准备好后,就可以搭建nacos了。

2. 搭建nacos

数据库搭建好后采用同样的方法,我们新建一个Spring Cloud项目,采取镜像组件搭建nacos应用,在配置组件时,暴露的端口号和环境变量设置可参考官方docker部署文件(https://github.com/nacos-group/nacos-docker/blob/master/example/standalone-mysql-8.yaml)。

搭建完nacos后,使用外部组件引入上一步搭建的mysql8数据库。

外部服务组件是指通过网络调用的外部服务所形成的组件。其可以引用其他项目中的组件,也可以使用IP或域名,引用系统外的组件。

组件设置完成后,使用连线将这两个组件连接起来。

注册配置中心nacos就搭建完成了。

3. 搭建spring boot admin

接下来使用代码组件搭建服务监控spring boot admin,代码组件是指用git等源码服务器地址进行编译构建的组件。

在架构图中拖入一个代码组件,并绑定GitHub账号,绑定完成后代码组件就可以拉取到该账号在GitHub到代码仓库了。

我的代码使用的是spring boot,所以在技术栈选项里选择SpringBoot@JDK8就好了。

然后配置组件的网络服务端口,通过环境变量NACOS_HOST引入nacos服务地址。

组件设置完成后,使用连线将组件admin和组件nacos连接起来。

4. 搭建服务producer

参照以上步骤,使用代码组件搭建服务producer。

根据实际代码配置组件的网 java教程络服务端口,通过环境变量NACOS_HOST引入nacos服务地址。

组件设置完成后,使用连线将组件producer和组件nacos连接起来。

5. 搭建服务cosumers

参照以上步骤,使用代码组件搭建服务cosumers。

根据实际代码配置组件的网络服务端口,通过环境变量NACOS_HOST引入nacos服务地址。

组件设置完成后,使用连线将组件cosumers和组件nacos连接起来。

6. 搭建服务网关gateway

参照以上步骤,使用代码组件搭建服务网关gateway。

根据实际代码配置组件的网络服务端口,通过环境变量NACOS_HOST引入nacos服务地址。

组件设置完成后,使用连线将组件gateway和组件nacos连接起来。

到这一步,一个spring cloud微服务架构的基础框架就搭建完成了。

架构图搭建完毕后,就可以发布应用看看效果了。

7. 发布

在发布界面,系统会自动生成各个服务的随机域名和端口,当然也可以自定义域名和端口,要注意的是自定义域名和端口时不能重复,否则发布会失败。

发布成功后可通过相应的域名来访问服务。

按照以上步骤,就可以在StarOS上快速搭建一个微服务开发测试环境,真的是一键达成,非常方便。

后续我会继续完善这个微服务架构,预计后面会加入链路追踪、消息队列等。

标签:服务,代码,nacos,mysql,组件,快速,测试环境,搭建
来源: https://blog.csdn.net/chinaherolts2008/article/details/120112950

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有