最近需要用到阿里的全套服务,有些问题请教下大佬们

2021-05-16 18:21:32 +08:00
 xulolololololo
  1. 接口老大说直接用阿里的函数计算来写
  2. 数据库也是直接买阿里的云数据库,目前打算是用 mysql

想请教下,这种方式和传统的该买云服务器在上面部署 application 有什么明显的优势吗?比如费用和可用性方面。 之前没怎么接触过这方面,一直都是个标准的 CURD 业务 boy,懂得大佬麻烦不吝赐教, 谢谢。

4739 次点击
所在节点    Python
44 条回复
cubecube
2021-05-16 23:28:00 +08:00
@caotian 基础服务不可能废弃,只可能升级的。所以我建议函数服务可以先官网,rds 基本上可以无脑买。楼主连这个都需要问,数据库管理的水平不会太高的
aladdindingding
2021-05-16 23:29:30 +08:00
云数据库什么主从 高可用 监控告警都给你配好了,你只用自己专注业务方面的开发了。
ClericPy
2021-05-17 00:52:39 +08:00
自己搭的话一般用做测试环境, 他们卖的会带很多配套服务稳定性好很多, 也搞定很多老运维才能避开的坑, 问题就是价格特别贵... 简单点说如果是特别重要的数据, 有老运维老 DBA, 自己搭也不是不行, 平时一定做好备份, 平时可以多问问老大, 很多史诗级大坑的经验一般就三个来源: 看书看报, 他人传授, 亲身经历.

函数计算原来说的就是 ServerLess, 之前接触过一点, 总体感觉就是首先费用极低, 用多少花多少, 可用性方面, 多写纯函数(输入输出完全确定, 无状态无副作用), 性能和抗高并发方面还是挺优秀的, 主要是纯函数写多了感觉 bug 都变少了. 曾几何时强烈建议把公司所有爬虫改造成 AWS lambda + kafka 的, 比现在在用的 Hadoop 和 docker 省太多钱了. 而且运维成本基本不考虑, 关键是我不会再被其他人写的共享资源的服务给拖累了...

也有些人不太习惯 serverless 部署和调试之类的麻烦, 还是看代码能力和经验, 没啥好办法.
yitingbai
2021-05-17 01:00:59 +08:00
为什么不用腾讯云, 我觉得不管是价格,还是体验都要比阿里云好
Bijiabo
2021-05-17 01:08:04 +08:00
如果用函数计算来做的话,是依赖于云平台的产品、服务稳定性的。我建议找个靠谱、真正做云产品的平台,国内可以考虑腾讯云、AWS 中国,国外可以考虑 CloudFlare 、AWS,根据场景和预算都有比阿里云更好的选择
moonvstod
2021-05-17 08:17:10 +08:00
老哥加个联系方式?我是渠道 5b6u5L+haWTvvJpnYWludXA=
x940727
2021-05-17 09:34:27 +08:00
@xulolololololo 2 个都是 SSD……
goodryb
2021-05-17 09:38:29 +08:00
@xulolololololo #9 技术选型不一定是要最先进或者最牛逼,能满足业务需求并且自己能管理的才是最好
基于这种团队配置,看起来核心还是在业务逻辑上,那最好是数据库采用云平台的 paas,应用部署在 ECS 上。

后期在考虑上函数计算,作为技术演进的路线。
apiiku
2021-05-17 09:52:58 +08:00
@xulolololololo 老哥,俺专业阿里云工具人,你那有坑位么
whileFalse
2021-05-17 10:11:01 +08:00
函数计算连 MySQL ?连接池怎么弄想过吗。
ch2
2021-05-17 10:34:34 +08:00
@whileFalse #30 现在有 preStop 这个 hook 接口了
whileFalse
2021-05-17 11:08:38 +08:00
@ch2 我是指函数闲置一段时间之后,数据库连接过期,但函数处于睡眠过程中,无法对连接保活,导致函数恢复运行时连接无法使用的等等情况
beautwill
2021-05-17 15:48:38 +08:00
我是阿里云运维,可以找我了解阿里云的技术,专有网络组网、负载均衡 SLB 、NAT 网关、RDS 高可用等
vx: beautwill
xuanbg
2021-05-17 21:46:19 +08:00
@whileFalse 没实际用过函数计算,但这个连接池都有问题也太夸张了吧
opengps
2021-05-17 22:00:35 +08:00
我用阿里云发布过 100 多台服务器的集群,不知道有没有你想了解的。主要在于扩展性,某些成本虽然高,但是看看用云的质量不中断业务其实就已经值了,何况业务真大了,加机器就能库容才是企业级应用所追求的
Rocketer
2021-05-17 22:55:36 +08:00
AWS 深度用户路过,没用过阿里云的对应服务,但 AWS 的 Serverless ( Lambda+DynamoDB+APIGateway )很对我胃口。

一开始确实如楼主所说,不符合传统开发习惯,但习惯以后再做传统项目,就觉得这也不爽那也不爽。所以这只是个习惯问题,没什么好坏之分。

不过没什么好坏之分是指的开发,若需要开发兼运维,那还是 Serverless 爽。尤其是云服务器,访问量稍微一大,就开始各种各样奇怪的毛病,很多是云服务器低下的 IO 性能,甚至是低配服务器被母鸡故意闲置资源所致。而 Serverless 就没有这些,还省个运维的人工成本(程序员免费加班兼任运维工作的那种公司不适用)
xiaoqiao24
2021-05-18 16:43:12 +08:00
其实你自己买个服务器搭建服务,搭建、维护的成本就已经比直接买服务贵了。当然,如果有充足的时间且想自己搭建学点技术的可以手动。不然我还是推荐买服务。
xulolololololo
2021-05-18 22:20:40 +08:00
@Rocketer 老哥居然觉得 DynamoDB 好用吗?我被它的那些查询限制恶心到了,灵活性太差了。比如简单的多个字段排序的功能都有点吃力,最后我还是组合两个字段作为二级索引的排序键才勉强能用
xulolololololo
2021-05-18 22:26:27 +08:00
@xiaoqiao24 没有时间,猛压过来,刚入职一个月
Rocketer
2021-05-18 23:11:49 +08:00
@xulolololololo 这还是个习惯问题。

DynamoDB 的目标很单一,就是快,为了快,它舍弃了很多传统数据库系统提供的功能。

就拿你说的那个排序问题为例,你觉得传统数据库是怎么实现排序的呢?无非也是两种——要么全读出来再在内存中排序,要么用那两个字段建个索引。你现在采取的是“索引法”,如果数据量不大的话,也可以全读出来,然后在内存中对结果执行排序算法。

看,DynamoDB 是不是跟传统数据库一模一样?只是把原先水面以下的东西拿到了水面以上而已。或者说,为了快,舍弃了传统数据库提供的包装。

其实这还算好理解的,个人觉得 DynamoDB 与传统数据库最大的区别在于数据的组合。传统上我们会用多表 join,但 DynamoDB 不好 join,只能多次查询。这让习惯传统的程序员很难受,如果你们公司有 code review 的话,一定被骂过查询太多,要求优化。

但 DynamoDB 不一样,因为它快,而且是 serverless 。这意味着我们可以同时发起成百上千个查询请求,让成百上千台服务器同时给我们干活。比如你要想把订单和用户信息组合在一起,那就先查订单,然后用异步 /协程 /多线程去同时查询这些订单里的用户 id 。不用怕,这比传统 join 还快,关键是不会形成瓶颈,就算某个查询慢了,也不会占着资源影响其它人。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/777269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX