闲鱼的实时触达系统是如何玩转跨端开发的?

  在Omega实时触达系统的系列技术文章中,已经对行为采集中心CEP规则中心用户触达中心三个子系统进行了详细介绍。闲鱼定义了自己的DSL语言(领域特定语言),它把复杂的代码开发转换成了一种类SQL形式的简练表达,而在底层具体实现上,端侧、前端和云端可以使用的不同高级语言,如:python、c++、javascript、java等。使用DSL的表达方式这样降低了不仅可以降低技术门槛,还提升了研发效率这就带来了本文所要介绍的问题:如何实现自定义DSL语言到多种底层高级语言的翻译?

DSL语言翻译中遇到的问题

  Omega系统中不仅实现了云端的复杂事件计算(CEP)引擎,端侧和前端也实现了各自的复杂事件计算引擎,相较于云端可以计算跨用户行为,端侧和前端CEP则更关注于单用户行为的计算,其更加实时和安全。因为各端CEP计算引擎的实现差异,导致了开发人员只能局限在各自领域内做开发,对于跨端开发有较高的技术门槛,另外时间成本也会不可控。因此,我们提出用自定义DSL语言来屏蔽各端的技术差异,在理想的情况下,开发人员应该只关注业务逻辑,其他技术细节不应该花费精力,如下图所示红色部分。

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值