国有,闲鱼架构团队负责人。在7月13号落幕的2019年Archsummit峰会上就近一年来闲鱼在Flutter&FaaS一体化项目上的 探索 和实践进行了分享。
随着无线,IoT的发展,5G的到来,移动研发越发向多端化发展。传统的基于Native+Web+服务端的开发方式,研发效率低下,显然已经无法适应发展需要。
我们希望 探索 闲鱼这样规模的独立APP的高效研发架构。主要思路是围绕Flutter解决多端问题,并使Flutter与FaaS等无服务容能力打通,形成云端一体化的研发能力,支持一云多端的发展需要。在某些场景已经取得效果,希望分享过程中的思考,与大家交流。
闲鱼选择Flutter主要是出于高性能的考虑。Flutter高性能主要来源于2个原因:
更多比较:
没有银弹的解决方案,Flutter与RN各有优点。如何选择因素很多,关键看如何取舍,举个例子:
云端技术栈的打通,是减少协同的不错的解法。以往前端+Node.js的一体化方案大家应该不会陌生,然而如果端侧使用了Flutter,那云侧Dart自然是第一选择。
FaaS的本质是运行在云端,那Dart适合用在云/Server上吗?
Dart语言早于Flutter,在最初的设计上,Dart就可以用于Web、Server。Dart具备一些服务端语言的特点:
闲鱼首先尝试将Dart作为普通的Server,替代传统的Java Server,然后再将Dart容器嵌入到FaaS容器中。建立Dart Server能力是第一步,也是主要的工作量所在。
闲鱼在Dart Server方面的建设思路:
开发期:
运行期:
上述内容实现了Flutter&Dart FaaS的技术栈的统一,但仅技术栈统一还远远不够,端、云的同学仍然无法真正互补和一体化打通,原因在于还有更多深入问题需要考虑:
面向这些问题,闲鱼的解法思路:
案例一,一体化在资源均衡方面的体现。在近期的一个项目中,云端一体化使原本2个月的项目时间,减少了20天。
案例二,一体化在业务闭环方面的体现。负责增长的一位开发同学,专注在增长业务上,在合适的情况下为合适的人投放合适的内容,以此带来用户的增长和活跃效果。一体化的方式下,可以统一云、端的切面,业务研发不再受云、端的限制。
一体化是建设高效研发框架的方向,并不是所有场景都需要一体化的开发,但一体化的Flutter、FaaS等技术组件,可以独立使用,也会带来效率提升,并且与原有的开发模式兼容。从一体化的思路去建设,可以使整体架构体系更加一致,也有机会做一体的架构沉淀。
未来闲鱼希望在一体化上做更多尝试和深入 探索 ,包括一体化工具、一体化业务平台、数据化智能化等方向。
Fass
n. 法斯
[例句]An on-line concentration method of field-amplified sample stacking ( FASS) by capillary zone ( electropheresis)( CZE) was developed.
建立了毛细管区带电泳(CZE)的在线场放大样品堆积(FASS)方法。
FAAS突破脂肪移植难点,确保恰当的成活率,为塑造美丽提供了最好的方法。FAAS技术,与美国的Coleman技术欧洲的Amar 技术有相似,又有细节和经验的各异,体现着当今完全健康微整形,完美改变的最先进理念和技术。
扩展资料例如:
FAAS技术的英文全名是:Fat (Stem Cells) AutogratingArt &Surgery亦即:脂肪(干细胞)自体移植艺术整形。FAAS技术是中国整形专家李越教授拥有国家专利和知识产权的现代自体脂肪及脂肪干细胞移植,以艺术设计重塑美丽容貌的技术;
其过程是在身体脂肪多余的部分采集富含干细胞的颗粒脂肪,经过特定处理,再用微粒三维立体注射方式移植于面部各个层次,平复颜面的凹陷和沟壑,恢复容积,轻松塑造更美丽更年轻的容貌。FAAS技术,它规范了低压吸脂,吸附提纯,三维多点微量孤立微创注射的技术细节,这个过程都是用很细的导管针完成。
首先是LINUX源代码,甚至写一个类似LINUX的大作来展示你的才华。你需要做的就是按照要求写代码。写代码的意义就是规定了一切。如果你按照规定去写,你很快就会发现你昨天写的代码和你今天写的代码差不多。当你写完代码一段时间后,你会体会到复制、拷贝、粘贴对你来说有多重要。
其次是轻松养前端框架,是基于Vue,React,和一套开源框架H5UI。我们自己开发的IO。后端框架的开发语言是Golang。15年下半年我们用的是Golang,之前用的是PHP。在2016年的一个高峰期之后,我们换到了可以承载高并发的Golang。PHP是消耗CPU的,所以当时使用PHP的成本非常高,语言本身的特性也有一些限制。例如,编写连接池或守护进程很麻烦。
再者是Serverless。无服务器提供的能力可以通过改变生产关系,提高前端工程师的R&D效率和能力范围,从而提高前端工程师的边际产品价值。今年天猫双十一主会场的SSR是通过Faas功能实现的。有了Node.js,前端工程师更容易写出服务器的一些功能。但是前端工程师不太擅长运维、数据库优化等问题。
快速的技术革命本质上是为我们的前端工程师创造红利。快速的技术变革让前端工程师的“生产效率”迅速提高,互联网产品目前的市场价值相对较高。在这样的环境下,前端程序员的需求和薪资在业务和技术相互成就的循环中不断提升。这一点从每年加入前端岗位的应届毕业生薪资不断上涨可以得到印证。
欢迎分享,转载请注明来源:优选云