后起之秀go语言你了解吗?助你年薪30W+

mob604756edd67c · · 4986 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言图片



随着云计算越来越普及,企业原来以内部IDC机房为载体的IT基础架构也逐渐发生了很大的变化,企业的业务系统除了部署在原来物理架构外,可能部署在vMware私有云、spenstack,私有云、阿里云公有云、AWS公有云、腾讯云、Azure等等各种云平台之上,形成了更加复杂在多云1T基础架构。那么我们该如何对多云主机进行管理和运维呢?今天我们就给大家分享一个Go语言的案例。

图片一、项目思路图片

整个代码的实现思路其实很简单,首先,每个云平台都有开放API接口,可以通过命令行工具TCCLI以及curl命令调用,还可以通过Go的http请求调用。那么我们可以研究不同云平台的各个接口,通过代码实现调用对应的API,然后综合整合到一个多云管理平台上。这样就省去在不同平台之间的切换运维成本了!
文中我们将通过查询区域的接口来给大家示范一下如何使用Go语言去操作云主机。这是腾讯云关于区域查询接口的示例,从接口文档中我们可以看到接口描述、输入参数、输出参数以及示例:https://cloud.tencent.com/document/api/213/15708

图片二、主要技术支撑图片

1. 组件:MySQL2. WEB开发框架:Beego3. 模板:Vali-admin4. 云API:腾讯云
图片三、代码实现图片

第一步,先用curl模拟一下请求DescribeRegions接口,从而可以获知需要传入的参数以及输出参数的格式。
图片
从请求中可以看到,关键参数是credentialsignature字段,其他参数都是相对固定的。Credential就是我们的用户idsignature需要根据我们传输的参数来生成,那我们的重点就在于怎么生成signature第二步:我们先引入一些库,实现一些加解密的函数:图片
第三步:我们使用这些函数完成signature的生成函数
图片
第四步,我们可以开始在TencentAPISignature函数的帮助下,请求DescribeRegions接口了。其中的secretId和secretKey都可以从腾讯云的账号里获得。
图片

图片四、成果展示图片

最后,从代码中获取了返回的region信息,那就可以通过其他组件展示在我们的多云管理平台了。
图片
如上demo的每个字段以及操作按钮都是通过调用腾讯云的API来实现的,我们可以通过一个API的学习和使用,来触类旁通举一反三,实现所有字段的完美展示。


图片五、总结图片

在多云平台群雄逐鹿的时代,没有一家公司会把鸡蛋放在同一个篮子里。如何整合多个云平台的主机管理,是每个运维开发架构师需要去思考的问题。
想了解go语言运维开发的更多实战项目,可以 扫描 下方二维码填写表单即可免费领取,还可以领取本文案例中的源代码


图片



有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:mob604756edd67c

查看原文:后起之秀go语言你了解吗?助你年薪30W+

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4986 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传