“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第n篇文章,点击查看活动详情”
闲聊
- 前几天有读者在之前文章后面评论说,你这也算技术文吗,不符合投稿需求。我认为,平台初衷是为了避免水文,当技术能力达到一定能力,博客不应该写那些什么技术应用,而是有自己的思考在里面。在职场里头,那些比你强的,不代表人家技术就多牛,可能业务能力、管理能力比你强,或者人家就是老板同学、朋友。
当我们往前走的时候,也需要抬头看路,你的天花板在哪里,能力的瓶颈在哪里?
- 上周跑市场,腿都跑麻了,也见过不一样的生意
ToB的生意蛮多还是很传统的,即使你推给他一个新的产品,他也会觉得改变了方式加大了工作量;有些年轻点的老板能反而很乐意接受,尝试新鲜感。那些分销商每年年薪跟大厂大头兵差不多薪资,每个行业赚钱的方式都不一样,可能人家一个铺租一年几百万,风险跟机会并存~
BFF
今天在淘系技术文章中看到一篇介绍Faas,里面提及了BFF.第一次接触faas,是在淘系的技术面上,有次我说之前做活动相关项目的时候,需求一直变,导致每次算法都不一样,都得重新开发代码,最终面试官跟我说可以尝试serverless、faas。
其实抽奖类,不外乎前几名,或者从多少人里头抽多少个幸运儿,还有就是在一定奖品去抽奖,当然那会产品、研发模块意识还比较弱,导致基本每次新的需求都要开发代码,无法复用。
聊回BFF,它是什么?
相信大家都听过阿里的小前台大中台战略,如果你学过DDD,在应用层也有编排的功能,其实他们的意义都一样。中台以业务角度去划分,比如说订单、商品、营销中台,它为不同平台提供相关功能,而不是专门为某个业务去开发。前台的作用是仅仅作为编排的作用,通过组装数据最终得到我们需要的数据。
提供服用率,减少重复开发,提高应对业务快速发展能力
那么bff大家可以理解为前台的概念,它就是为了整合后段中台数据的地方。比如说一台atm机器,页面会展示取钱还是存钱,具体里头怎么操作,不需要用户关心的。如果没有一个统一对接的地方,那用户得忙里忙外,还一脸闷逼,有了一个统一处理的地方明显提高了效率。
淘系方案
文章在上面链接,大家有兴趣可以去看看。方案是通过前端来实现业务逻辑,后端仅仅提供数据,目的是为了减少开发人员。比如以前一个功能,前端、后端需要分别开发然后对接,现在后端大部分功能都实现了,前端要啥数据自己拿自己拼接,好家伙,后端饭碗被砸了,哈哈
说说我看法,在业务场景里头,淘宝前端那些琳琅满目的页面,如果后端来处理,确实是很蛋疼,这时后端只需要给数据,前端自己想咋玩就咋玩。但是。。
如果像抽奖那些就不合适了,万一前端数据造个假,有这种羊毛请喊上我,哈哈
大家可以理解为一种创新,前端更多参与业务逻辑,后端主打提供数据,更多精力用于数据监控,为业务提供数据支持。
我们公司方案
我当时听到公司项目这个方案也是比较感兴趣,上去就逮住那个开发问
当时项目背景是前端需要跟很多平台后端打交道,所以搞了一个平台叫BFF来承接后端的各种接口,其实就是我们上面讲的小前台,做整合。
好处:很明显,就是前端我只需要对接一个服务端
缺点:那位有点幽默的研发同学也跟我吐槽说,需要对接很多接口,每次改东西,他那个中间层都得修改参数
差异
| BFF | 前端 | 后端 |
|---|---|---|
| 淘系 | 前端是作为一个主力,更多的参与业务逻辑开发 | 作为数据提供者,更加关注运营数据 |
| 我们公司 | 前端对接BFF服务聚合层 | 作为处理业务逻辑主力,也提供聚合层 |
从上面来看,淘系将研发重心放到了前端,我们公司的方案属于常规的方案,在刚刚讲的抽奖场景其实是不适合前端来处理,所以这个还是得看业务场景。
当然如果前端来自己整合,那么上面那个研发同学提到的问题也就可以解决,比如说改了需求,后端接口改一下,聚合层改下,前端改下对接参数,三个地方需要改动。如果采用前端组装,其实只有两个地方改动,而且聚合层有些接口只有一个服务,意味着就是一个传话筒,没有聚合的意义。
最后
不得不感慨,很多工作在渐渐被代替研发工作,比如云原生,研发根本不需要关心用的啥中间件,什么灰度方案,统统都有。在这篇我们也看到前端可以代替后端工作的部分,后端研发的同学还是要从多方面提高自身竞争能力(有点不讲武德,哈哈)