记一次服务端方案选型

作者: 木TT | 来源:发表于2018-04-17 23:27 被阅读28次

    作为一个Android开发者,要自己开发服务端,选择服务端开发方案的过程

    一,Serverless

    开始是想用serverless,只关注业务逻辑,其它的环境配置,安全验证,动态扩容等都交给serverless平台来做

    1. 阿里云serverless

    阿里云serverless平台,是国内最早做的,看起来也很完善,但实际使用起来各种蛋疼,最严重的两个问题是:本地调试,log查看
    本地调试:文档上提了一句可以用docker+sandbox做,但是没有具体步骤,叮叮上问了,也只是一句简单地用sandbox,没有任何步骤,等我把docker装好后,开始以为是我自己不会做,后来参考aws和华为云,它们都有详细的步骤,而且有sandbox的各种命令来模拟本地环境,但是阿里云完全没有提及,应该就是功能不完善,害我搞那么久

    问题:

    因为不能本地调试,验证一次小的改动都要走一遍发布流程,效率极低及其操蛋
    log似乎也有问题,经常看不到自己打印的日志,不好定位问题
    各种角色,权限等配置,也很复杂
    阿里云控制台,文档网页时不时卡死,其他云的网站都没出现过这种问题,垃圾啊,可能是骄傲了不求上进
    实际测试发现冷启动比较慢,并发量稍大的时候,会有一段时间没响应
    需要绑定备案域名

    结论:阿里云serverless不适合做web/移动应用的后端,而且这次对阿里云的印象很差

    2. 华为云serverless

    偶然发现华为云,发现做的还不错,基本功能向阿里云看齐,serverless很全包含了函数计算(有sandbox本地调试),API网关,表格存储,对象存储,而且现阶段免费,所以决定试一下
    hello word demo跑起来后,发现sandbox只支持Linux,Windows,命令行cli竟然只支持Linux,放弃...

    3.百度云函数计算,压根就不支持做后端服务,目前看只能用于iot, 腾讯云的函数计算也是功能不全

    4. aws lambda

    阿里云应该就是学的它的,该有的都有,国内也能访问,但是sandbox本地调试处于公测阶段,整体看了下文档感觉比较复杂,另外国外有一个serverless.com的网站,集合了aws,微软,Google的serverless,做了一套统一的工具,但是对node.js,python支持较好,Java不能本地调试,后来参考了(https://www.phodal.com/)的文章,感觉serverless目前还是不太适合做APP后端,一是本地很不方便,配套工具还很初级,二是实际使用也有限制,比如冷启动特备是对于java jvm更慢

    二,租用云服务器

    常规方法,租云服务器
    缺点:需要自己配置搭建环境,豆豆租房后端用的是这种方案(jetty+jersery+mongodb),但是没有配置log服务,也没有涉及到分布式等,以后真的数据量大了,还有很多工作要做,很多东西要学,一个人可能搞不过来

    三,App Engine

    目前暂定APP engine,百度GAE
    好处:
    不用管扩容,日志等问题,以后可以直接加实例来解决
    直接上传war包,基础版mongdb可以导出,以后可以方便移植到云服务器
    基础版很便宜256m内存+5m宽带+2g磁盘 4毛一天
    操作简单,文档,控制台比阿里云舒服

    问题:
    目前基本版mongodb只有1g的容量,以后满了怎么办
    基础版能不能满足后面的需求
    专业版最低需要80多一个月,略贵
    会不会有其他的坑,国内App Engine就两家,新浪SAE,百度BAE,阿里云以前上过但后来下架了,是因为市场太小,还是这个方案本身有缺陷???

    相关文章

      网友评论

      本文标题:记一次服务端方案选型

      本文链接:https://www.haomeiwen.com/subject/zchmkftx.html