Blink提交采用进程模型(包装flink info/run命令)进行作业执行计划的生成和作业的提交,这个基本是大数据计算引擎jstorm/spark/flink的共识,采用该方式的优点在于: 简单: 用户只需在自己的jar包中进行逻辑处理 引擎client负责以方法调用形式调用用户main方法,然后编译、提交 干净 进程模型用户包用完销毁,引擎版本包通过目录隔离,不用考虑多版本问题。 但这也带来了缺点,每次都得走一遍大量class 加载、校验等jvm启动全流程。同时,大多数作业的的执行计划生成耗时是在20秒以内,也就是说此时瓶颈不在编译阶段,此时jvm启动开销就成为了瓶颈。尤其当这些操作极其高频时,带来的开销不容小视。
得物社区是一大批年轻人获取潮流信息、分享日常生活的潮流生活社区。其中用户浏览的信息,进行个性化的分发,是由推荐系统来决策完成的。目前得物社区多个场景接入了推荐算法,包括首页推荐双列流、沉浸式视频推荐、分类tab推荐流、直播推荐流等多个场景,为了给用户提供更好的服务和体验,我们从整个推荐系统维度为相关服务做了大量优化。现在主流的推荐系统都会有召回、粗排、精排和机制等多个模块组成,本文主要介绍我们在精排层面演进过程中做的一些工作和思考。
数据驱动理念已被各行各业所熟知,核心环节包括数据采集、埋点规划、数据建模、数据分析和指标体系构建。在用户行为数据领域,对常见的多维数据模型进行信息提炼和模型整合,可以形成一套常见的数据分析方法来发现用户行为的内在联系,能更好洞察用户的行为习惯和行为规律,帮助企业挖掘用户数据的商业价值。 行业内最早可追溯到Google Analytics埋点分析工具,国内较早开始这方面研究的是百度大数据分析平台;随着15年后国内大数据兴起,神策的用户行为分析平台、GrowthingIO的增长平台等独立数据分析平台公司相继成立;18年后一些发展较快的大厂经过几年数据积累也有了自己的分析平台,例如美团点评的Ocean行为分析平台、字节的火山引擎增长分析平台等等。 只有当数据达到一定规模才更适合用科学化的方法来提升数据分析效率,如前面所述,虽然Google和百度在这块最早探索,但后面一些互联网公司也是过几年才有自己的产品,即数据产品的发展需要与实际数据规模和业务发展相符。B站最早从19年开始关注大数据建设,到现在已经有一套较为成熟的数据产品——北极星,可以实现对用户行为数据进行埋点采集、埋点测试、埋点管理
在 12 月 10 日举办的字节跳动技术沙龙首期『抖音 Android 基础技术大揭秘』专场上,来自抖音基础技术 Android 团队的工程师们体系性地向业界分享了包括《抖音大型应用架构演进与思考》《抖音稳定性优化思路和疑难案例实战分析》《抖音启动优化实践》《抖音包体积优化体系建设》《抖音端智能优化用户体验的探索和实践》在内的技术实践,受到了广大 Android 工程师们的好评。 然而关于 Android 基础技术的难题仍未穷尽——内存优化怎么做?网络体验如何极致优化?播放体验优化如何畅享丝滑?功耗优化如何解决用户电量焦虑?线上容灾体系又该如何建设?
目前闲鱼行业产品有回收、寄卖、验货宝等,这些产品在基础交易模式上引入附加玩法规则,其状态机相比于普通交易模型更加灵活复杂。基础交易模型订单状态只包含:创建订单->付款->发货->确认收货 。以回收举例,在中台基础交易模型之上,又附加了诸多行业业务状态,如服务商收货、质检、用户确认质检等。这些状态,是通过用户或服务商等多种角色推进的,而业务状态的维护也需要闲鱼自己来负责。
trpc-go 是目前公司里非常火热的一个开发框架,集成了很多开箱即用的功能,非常方便。trpc-go 代码量不算太多,但是写得还是有点绕,直接阅读可能会比较晕。因此本文主要对 trpc-go 的模块设计进行一个分享,帮助大家构建一个整体视图,后续有需要再针对性的去阅读各模块源码即可。 做后端开发的同学肯定接触过不少的框架,就拿 Go 来说,比较常见的框架比如:gin beego echo iris martini 等等。除了 Go,Python 也有著名的 Django Tornado,PHP 中的 Laravel 以及 nodejs 的 express。这些耳熟能详的框架都有个共同的名字,叫“Web 框架”。Web 框架主要是面向 web 开发,业务处理的默认都是 HTTP 请求。而 trpc-go 则有些不同,它是一个 rpc 框架。由于客观历史原因,客户端和服务器的直接交互大多还是 http 请求,但是系统内部大量的微服务之间的交互则并不局限于 http 协议。从性能和可读性的角度来说,thrift dubbo 等协议显然是比 http 更好的选择。trpc-go 作为一个全
微信作为月活过10亿的国民级应用,经常面临特殊节点消息量暴增的问题,服务很容易出现过载。但微信的服务一直比较稳定,是如何做到的呢?本文邀请到了腾讯WXG后开开发工程师alexccdong以微信 2018 年发表于Socc会议上的文章《Overload Control for Scaling Wechat Microservices》 为基础,介绍微信大规模微服务的过载保护策略,其中很多方法很有借鉴意义。欢迎继续阅读。