万万没想到,一个技术方案帮实习生追到了运营妹子!

上回说到,公司的新业务增长速度放缓,运营部门提出要发展短视频来促进更快的业务增长,而我也因为提前准备好了技术预案再一次得到老板的赞赏(了解详情请看上集:一个技术预案,让老板当场喊出了奥利给)。

既然万事俱备了,公司就着手开始做短视频业务。本着最小化成本验证、快速迭代的原则,公司并没有大规模地去推进,而是先开发一个简单的短视频网站,招聘了一个妹子来做运营,先跑着看看效果再决定要不要加大投入.

说到这个运营妹子,那可真是青(fu)春(bai)朝(mao)气(mei)有(da)活(chang)力(tui),听说她自己在短视频平台的账号就有几十万粉丝,还是什么穿搭博主。我们组那个985名校实习生明显感觉来公司上班的劲头都足多了。 你还别说,新来的运营妹子三天两头跑过来找我们实习生小哥,今天拜托给连个外接显示器,明天请帮忙查个网站新用户数,经常就听见:“小哥哥,你看这个要怎么实现呀~”小哥哥那也是有求必应,毕竟萌妹子嘛,总是不好拒绝,不像我们产品大哥要提个需求,那简直是山崩地裂。

前两天运营妹子突然跑过来问:“小哥哥,我这个网站可以放到一个单独的IP地址上么?”原来她遇到一个问题:新网站受原来网站的影响,不好做优化,负责网站优化的同事告诉她需要换一个单独的新IP地址。这个需求可把小哥哥给难住了,向来有求必应的他不知道怎么办才好,只能说:“每个服务器只有一个IP地址,如果要换IP地址,可能需要部署到新的服务器上,这个需要和老板协商…”运营妹子一听实现不了,明显就有些不开心了地走了,留下小哥哥在原地不知所措。

唉,还是太年轻呀,让老夫来帮你一把吧。我把实习生喊过来说:“想要有单独的IP地址不需要申请新的服务器,在现在的华为云弹性云服务器上挂载一个新的网卡就行了,只需要3步就可以实现。而且双网卡配置还能提升服务器带宽,提升短视频的访问速度。”

真的么?实习生小哥两眼冒光,特别期待地问我:“那怎么实现呀,我快点弄好,给她一个惊喜!说不定今天晚上就能一起去看电影了呢。”

具体操作嘛,很简单,很快我就给他写了一个操作文档:《3步实现弹性云服务器挂载网卡》

步骤1:创建网卡,发送POST请求,记录subnet 、network、port等ID。

1、创建网络

1)发送一条POST请求。

POST:https://{endpoint}/v2.0/networks,其中endpoint是云服务器所在的区域节点。

Body:

{
 "network": {
 "shared": false,
 "name": "demo-net",
 "admin_state_up": true,
 "tenant_id": "74610f3a5ad941998e91f076297ecf27"
 }
} 

2)记录返回响应中“network”的ID。

{
 "network": {
 "id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b",
 "name": "demo-net",
 "status": "ACTIVE",
 "shared": false,
 "subnets": [],
 "availability_zone_hints": [],
 "availability_zones": [
 "az_test_01",
 "az_test_02"
 ],
 "admin_state_up": true,
 "tenant_id": "74610f3a5ad941998e91f076297ecf27",
 "provider:network_type": "vxlan",
 "router:external": false
 }
} 

2、创建子网

1)发送请求。

POST:https://{endpoint}/v2.0/subnets

Body:

{
 "subnet": {
 "name": "testsubnet",
 "enable_dhcp": true,
 "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b",
 "tenant_id": "74610f3a5ad941998e91f076297ecf27",
 "dns_nameservers": [
 "8.8.8.8",
 "8.8.8.7"
 ],
 "allocation_pools": [
 {
 "start": "10.0.10.2",
 "end": "10.0.10.254"
 }
 ],
 "host_routes": [],
 "ip_version": 4,
 "gateway_ip": "10.0.10.1",
 "cidr": "10.0.10.0/24"
 }
} 

2)记录响应中“subnet”的ID。

{
 "subnet": {
 "name": "testsubnet",
 "cidr": "10.0.10.0/24",
 "id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5",
 "enable_dhcp": true,
 "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b",
 "tenant_id": "74610f3a5ad941998e91f076297ecf27",
 "dns_nameservers": [
 "8.8.8.8",
 "8.8.8.7"
 ],
 "allocation_pools": [
 {
 "start": "10.0.10.2",
 "end": "10.0.10.254"
 }
 ],
 "host_routes": [],
 "ip_version": 4,
 "gateway_ip": "10.0.10.1"
 }
} 

3、创建端口

1)发送请求。

POST:https://{endpoint}/v2.0/ports

Body:

{
 "port": {
 "admin_state_up": true, 

 "fixed_ips": [
 {
 "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5"
 }
 ], 
 "name": "test", 
 "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b",
 "tenant_id": "74610f3a5ad941998e91f076297ecf27"
 }
} 

2)记录响应中“port”的ID

{
 "port": {
 "id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4",
 "name": "test",
 "status": "DOWN",
 "admin_state_up": true,
 "fixed_ips": [
 {
 "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5",
 "ip_address": "10.0.10.233"
 }
 ],
 "mac_address": "fa:16:3e:db:91:f6",
 "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b",
 "tenant_id": "74610f3a5ad941998e91f076297ecf27",
 "device_id": "",
 "device_owner": "",
 "security_groups": [
 "93031677-2895-4b83-855a-637e309aa9e6"
 ],
 "extra_dhcp_opts": [],
 "allowed_address_pairs": [],
 "binding:vnic_type": "normal",
 "binding:vif_details": {},
 "binding:profile": {}
 }
} 

步骤2:挂载网卡

1)发送请求。

URI格式:POST /v2.1/{tenant_id}/servers/{server_id}/os-interface

示例

POST:https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/9f4d9281-95e7-4915-a126-1ee597101e2e/os-interface

Body:

{
 "interfaceAttachment": {
 "port_id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4"
 }
} 

2)响应示例

{
 "interfaceAttachment": {
 "port_state": "ACTIVE",
 "fixed_ips": [
 {
 "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5",
 "ip_address": "10.0.10.233"
 }
 ],
 "port_id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4",
 "net_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b",
 "mac_addr": "fa:16:3e:db:91:f6"
 }
} 

步骤3:确认挂载结果。

1)发送请求。

URI格式:GET /v2.1/{tenant_id}/servers/{server_id}/os-interface

示例

GET:https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/9f4d9281-95e7-4915-a126-1ee597101e2e/os-interface

2)响应示例

{
 "interfaceAttachments": [
 {
 "port_state": "ACTIVE",
 "fixed_ips": [
 {
 "subnet_id": "46712fe4-25bd-4eae-874b-a528abfb76be",
 "ip_address": "192.168.0.50"
 }
 ],
 "port_id": "dd706739-b696-40be-a9f4-477ce478cb18",
 "net_id": "17251a8f-a671-4d7c-85d9-af5415962994",
 "mac_addr": "fa:16:3e:a5:e0:3c"
 },
{
 "port_state": "ACTIVE",
 "fixed_ips": [
 {
 "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5",
 "ip_address": "10.0.10.233"
 }
 ],
 "port_id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4",
 "net_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b",
 "mac_addr": "fa:16:3e:db:91:f6"
 }
 ]
} 

看到"port_state": "ACTIVE",就表示我们已经挂载好网卡了。

据说,由于疫情的原因,当天两人电影是没看成,但是正式处对象了……万万没想到,一个技术方案还让我当了一次月老。从此以后,实习生小哥看到我那叫一个毕恭毕敬~

据了解,目前API Explorer平台已开放EI企业智能、计算、应用服务、网络、软件开发平台、视频等70+云服务,共上线2000+个API、6000+个错误码。在前期试运行期间,华为云API Explorer平台上的API接口也已被多家企业成功接入。

点击查看详情:《华为云一站式API解决方案平台API Explorer上线》

华为云API Explorer平台在未来几个月会实现更多功能,比如支持SDK示例代码、CLI等特性,同时也会开放更多的云服务API接口,连接更多开发者实现创新、拓宽创新边界。


点击关注,第一时间了解华为云新鲜技术~


原文链接:juejin.im

上一篇:面试官问你关于node的那些事(进阶篇)
下一篇:transform-markdown-mathmode

相关推荐

  • 毕业一年左右的前端妹子面经总结

    前言 嗯ennnnnn,,,,懒癌症拖延的毛病,趁着最后一个上班日赶紧把最近一周的面试做个总结(虽然我下周一才入职),作为一位去年才毕业的前端妹子来说,其实还是个技术小白啦,近几年还是想在技术上能...

    2 年前
  • 校招经验贴 | 前端萌妹子教你如何拿下支付宝梦之队offer

    就现在!蚂蚁「校招季」重磅来袭!除了介绍蚂蚁的技术大咖,我们还邀请了一些通过校招来到蚂蚁的过来人分享他们的通关经验和心得,这里随时可能有行业技术大咖和你的直系学长学姐出没哦~ 「校招季」栏目会持续输出...

    4 个月前
  • 前端每日实战:16# 怎样在妹子面前炫技还能让她含羞带笑?——彩色渐变动画边框

    效果预览 按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。 https://codepen.io/comehope/pen/odpRKX(https://codepen.io...

    2 年前
  • 前端妹子让我优化项目(想无)

    今天前端妹子让我优化项目,想无,一大早来到公司,老大已经到了,我耳机听着谢霆锋的歌‘活着via’,庆幸活着真好,想无,过了国庆心情是真的很好啊,歇息歇得我快废掉了,赶紧打代码,不打代码出去浪对钱不好,...

    9 个月前
  • 万万没想到,你是个套路满满的parseUrl

    当你看到parseUrl的时候,首先映入眼帘的应该是曾几何时在面试的时候,或多或少都有被提及到的问题 我们不用太关心面试方面的东西,放轻松,不要带着心理压力,即使它是套路满满,我们也依然能轻松搞定 p...

    3 个月前
  • 万万没想到!ES6的const并非一定为常量

    摘要: const定义的变量一定为常量吗?No 对于ES6的const变量,大家一直存在误会,这篇博客将试着解开真相。 (const的本质 "const的本质")const的本质 cons...

    2 年前

官方社区

扫码加入 JavaScript 社区