阅读 130

掘金 AMA:听蚂蚁金服 mPaaS 团队技术专家--凝睇讲客户端推送 & 997 那些事

第十六期 AMA 掘金团队请来了来自十六期嘉宾是来自蚂蚁金服 mPaaS(移动研发平台)团队 的技术专家-- 凝睇做了为期三天的 Ask Me Anything (AMA) 活动(活动已结束)。

我们在此精选了一些来自用户的提问及凝睇的回答。

关于凝睇

目前主要负责 mPaaS 产品服务端研发,在蚂蚁工作 7 年多。这些年他的工作基本都围绕着 Java,期间主要负责过支付宝手机 WAP 主站,alipass (支付宝卡券),客户端数据同步平台(Sync)的研发,并带这些产品参与过多次双 11、双 12 和支付宝春节红包大促活动。

社区小伙伴精选提问--技术直接相关

在到达率方面,如何保证消息在推送过程中不会丢失? ─ @噯de阳

您好,我想问下推送这块,你们和极光、小米有啥区别,或者说你们的优势在哪里?以及在到达率方面,如何保证消息在推送过程中不会丢失。

到达率其实主要看在弱网环境下的长链接的质量,让消息尽可能在有效期内完成送达,目前蚂蚁体系的长链接是蚂蚁私有的网络协议以及一系列的网络建联策略,其主要的目的是,减少协议本身数据包大小,然后尽量保证在网络不太好的情况下能尽可能的通过一些动态的策略保证链接能建上,并保持时间长一点。

丢失是不用担心的,推送服务本身,会有ack和重试机制。

请问可以在文件流中获取,文件修改时间以及创建时间? ─ @_杨瀚博

请问可以在文件流中获取,文件修改时间以及创建时间?excel文件中二进制编码头中,除了魔数以外的的其他字节都有那些含义?

回复

Path p = Paths.get(pathStr);
    BasicFileAttributes view
       = Files.getFileAttributeView(p, BasicFileAttributeView.class)
              .readAttributes();
    System.out.println(view.creationTime()); 试试这个
复制代码

应该是JDK 7 之后的特性,Excel的还真玩的不多,估计这篇文章你也看到过了吧。 blog.csdn.net/luedipiaofe…

mpaas底层有运用到容器化部署技术吗? -@Chan酱

mpaas底层有运用到容器化部署技术吗? 我打算利用Kubernetes给公司的应用提供部署服务,屏蔽各种基础设施的细节。如果做这方面的工作需要考虑什么比较关键的问题吗? 对于日志收集,监控,配置问题,我发现利用sidecar的容器工作模式去实现非常优雅,不知道还有没有更好的解决方案?

目前部署方式我们可以通过非容器化的脚本部署方式,也可以支持容器化部署。在mpaas这边,普通的Java应用对于容器化的适配还是比较方便的,但是对于一些本身对一些系统接口有所依赖的会略麻烦一些,比如构建,自动化测试之类,需要在容器里面再容器化来做资源分配和隔离的场景,需要着重关注稳定性的问题。

综合下来,还是sidecar模式比较舒服。

关于客户端网络层的优化,有哪几个地方可以切入? -@J_Knight_

您好,请问一下关于客户端网络层的优化,有哪几个地方可以切入?而且在监控网络性能方面有哪些实践可以分享一下嘛?

几个方向可以先搞起来,首先是用长链接代替短链接,增加链接的复用率,减少每次请求的时间,然后数据的序列化方式可以用PB,再则进一步可以自定义传送协议,本地dns(通过一定的策略下发ip列表)减少dns解析耗时和报错,更细的可一些动态建联策略,并发建连,1rtt这种

监控方面,主要还是靠客户端埋点日志,上传到服务器上做大数据分析

移动网关有什么好的实践吗? -@yuyo

移动网关有什么好的实践吗?有了GraphQL是不是可以不用移动网关了?不知道GraphQL在阿里有什么好的实践吗?

移动网关主要面向移动客户端的,不仅仅是restful风格的网关,同时还可以支持TCP,http,https,http2,spdy等协议,还有我们深度定制的自由mmtp协议。数据的序列化方式也可以支持多种,不单纯的是json,此外,移动网关需要做一些针对移动端的逻辑处理。统一session校验,数据验签、还有最基础的,接口管控,流控,更进一步的还有支持去中心化等功能。此外还会配合网络接入(spanner/nginx)做非常多性能优化,数据优化的工作。

社区小伙伴精选提问--非技术直接相关

问下职业规划问题,七年在一家公司不会疲软吗? ─ @Lanwy

问下职业规划问题,七年在一家公司不会疲软吗?这七年你的岗位和工作内容发生了怎么样的变化?如果像我这样在一家研究所四五年没啥技术提升,是不是该换个环境了

哈,时间长了总会有些想法,只是内部的机会也比较多,想动的时候可以先尝试内部转岗,挑一些自己想要的方向,也会有很多的挑战.身边10多年的同事大有人在,7年说长也长,说短也短,一件事情做个3年,7年其实也做不了几件大事情

技术研发,方向很宽,前3年围绕业务编程,中间三年做了客户端与服务端的数据同步中间件,围绕高稳定,大并发,性能优化,顺便耳濡目染多接触了一些其他网络组件,偶然的机会开始参与mpaas,刚好让之前的经历有新的用处,顺便也给自己做了一些补充😃

请问阿里比较看重哪些方面?没有名校名企背景的有机会吗? -@Ly梦k

您好,请问阿里比较看重哪些方面?没有名校名企背景的有机会吗?

从招聘的角度,主要关注对技术本身等我渴望度,比如当前环境所用的技术内容,不要仅仅停留在使用阶段,要进一步的去了解机制,原理,源码,优劣势....然后适当等我补充当前业界比较关注的技术内容,没有名校背景一样有机会的,当然也需要更加努力一点....

想问大佬下大佬是如何进行时间管理的? -@钱学敏

想问大佬下大佬是如何进行时间管理的

时间管理,最基本的原则,就是分,轻重缓急。。。。工作上永远把重要并且紧急的事情优先处理掉,然后处理紧急的事情,重要的事情尽量在变成紧急之前搞定。

此外,阶段性给自己设定一个不太远,并且可以达到的目标,不一定是工作,也不应是学习,然后搞定这个目标。习惯了这种方式也自然会延伸到工作和学习中去。

你对行业前景怎么看? -@℡念心

看到您的帖子,特地注册了一个账号,想得到您的一些指点。我现在大四实习,一直是学前端。实习公司主要在做大数据,我接触到很多大数据的东西,虽然在这方面我是个新手,但这很棒。令我困惑的是公司规模比较小,体系非常不完善,分配的任务也很杂,很难集中精力做一件事,干了半年感觉学到的东西都很粗浅。看了很多前辈的文章,都说良好的体系和专注做一件事是很有必要的,而我现在似乎只能用前端技能找到工作,明显大数据的前景更好。我希望能得到一些您的指点,毕竟无论如何我的眼界相当有限

前景这个东西只能说当前的被宣传的比较热的代名词。。前端开发的岗位已经持续了很多年了,而且还是依然会被持续需要这,同样也有非常好的机会和待遇空间。。

当然如果自己对大数据感兴趣,工作之余提前做一些技术储备还是需要的,技多不压身。

专注做一件事情是非常重要,扩充自己的知识面也同样重要。

特选:关于 997 那些事

凝睇故事背景:进支付宝 2 年后脑子一热发了个 feng,又在浙大考了一个 MBA(本科是信息管理与信息系统,管理学学士,也算科班管理学出身吧!?),接着又赶上支付宝 All in Mobile,所以期间 3 年几乎完全没有周末!So……996、997 什么的,那还真不是什么事儿!

想问下大佬你现在还996或者997吗,在这种情况下如何提升自己的技术水平呢? -@清卯

连着1个月公司加班到11点,还单双休,想问下大佬你现在还996或者997吗,在这种情况下如何提升自己的技术水平呢?我每天都累的不行,忙的时候感觉工作生活没啥意义

近期到是没有996.997阶段性需要...心总会有累的时候,这个时候不是要停下来,而是要调整下心态,回顾一下过去的事情,捋一捋心情。技术上成长,通过工作内容当然是最好的渠道,但并不是全部,还是要自己适当的安排和调整一下....

给个小建议,当你加班的时候,换个角度想,想你你并不是在加班,而是在奋斗,为了自己的理想在奋斗,加班只不过是奋斗途中的一个小山坡,心里会舒服点,时间也能过的快一点,嘿嘿!

对于长期996这样子的生活,没有时间谈恋爱,怎么解决? -@肖路

想问下大佬,对于长期996这样子的生活,没有时间谈恋爱,很少有自己的生活,以后可能到退休之前都会是这个样子,大佬是怎么想的呢?

程序猿恋爱要趁早,从娃娃抓起

如果真没时间,就找个运营,产品,视觉,测试这些跟你一起战斗的姑娘凑合过吧,等到合适的阶段让她先过上朝9晚5的生活,你继续996!


本期 AMA 凝睇也回答了很多其他的技术、非技术问题,欢迎去他的 AMA 下面交流技术哟,传送门

关注下面的标签,发现更多相似文章
评论