Freegle放弃了Google Maps for OpenStreetMap,每月节省700 GB

2020-06-30 23:11:13

Freegle(www.ilovefreegle.org)就像在线约会一样-我们让拥有他们不需要的东西的人与需要他们不拥有的东西的人联系。随着封锁的放松,我们非常忙-人们一直在清理,许多人在经济上苦苦挣扎。这是一个很好的问题(对我们来说,对他们来说就不是那么多了)。

我们的谷歌地图账单大约是750 GB/月。哎呀。这不是一个好问题。

一旦你开始增加使用,谷歌地图可能会相当昂贵。我并不嫉妒他们赚钱,但我嫉妒他们弗里格尔的钱。*幸运的是,还有一个选择:开放街道地图。但它一直在我的待办事项清单上-无论如何,它更符合弗里格尔的精神-但似乎从来没有一个很好的理由来抽出时间来做这件事。

首先,我用LEAFLE做了一点原型,我有点不好意思地说我以前没用过,但不需要花太多时间去习惯--如果你有谷歌地图的代码,你可以稍微微调一下,就有了LEAFLE代码,因为Freegle用的是VueJS,所以我用的是Vue2Leaflet。(因为Freegle用的是VueJS,所以我用的是Vue2Leaflet)。

其次,我需要一个瓷砖服务器-瓷砖是构成地图的正方形图像。OpenStreetMap有一个你可以涉足的,但对于批量生产,你不能使用它,而且足够公平。有很多付费的OpenStreetMap瓷砖服务;我也不吝惜他们的钱,还有一些有趣的服务,他们会将广告叠加到地图上,并向你支付佣金来使用它们,我需要进一步探索。但我想迅速投入生产,所以我选择了托管我们自己的服务。

所以第三,我在神话野兽上启动了一个新的虚拟机。有很多托管公司,但如果你是极客,我怎么称赞神话野兽都不为过。虽然它们的价格合理,它们知道自己在说什么,而且它们很可爱。虽然设置瓷砖服务器并不难,但OpenStreetMap提供了一个码头图像,这更容易。我稍微调整了一下,包括增加了HTTP2支持(感谢LinuxBabe的提示),然后Ssler。

在此过程中,我学到了一些东西,我相信其他人都在博客上谈论过,但我错过了。瓷砖服务器既可以动态渲染瓷砖,也可以提供缓存的瓷砖。我知道这一点,但我没有意识到渲染瓷砖的速度非常慢-在高缩放水平下渲染一两个地图瓷砖是可以的,但你不会想要做整个屏幕。您可以根据您使用地图的目的来限制可用的地图缩放级别,这会有所帮助,但最终磁盘空间比CPU便宜,所以预渲染绝对是可行的。

第四,然后,我将我的虚拟机增加到16个内核,并将它的预渲染设置为增加缩放级别。它可能需要几天的时间才能完成,因为神话中的野兽有每天的账单,我可以负担得起。事实上,如果我把它放大,每月仍然比谷歌地图便宜。但一旦完成,我就会直接放下它,因为它只是一个提供图像的网络服务器。50 GB/月就足够了。

我还没有完成-我需要添加自动完成功能,我还有一些功能需要转移。

但这仍然是微调。从问题到解决方案的上线时间是多少?两天过去了,一个工作日过去了。每月节省了多少钱?700 GB。

另外,喜欢这个声音吗?我们总是需要更多的极客志愿者。在LinkedIn上联系或发送电子邮件至ilovefreegle.org