资讯专栏INFORMATION COLUMN

babel: yet another rpc, but far beyond rpc(下)

chenatu / 1316人阅读

摘要:研发通讯框架,以及其支撑的其他框架,比如监控报警等。这个是最重要的角色。目前的配置与分发还不能做到自动化,有手工工作量。完成自动化发布部署,将整个系统做一个统一的整体。研究弹性伸缩方面的非功能性扩展。考虑增加熔断等自我保护机制。

(图片源自网络)

4框架生态

实际上,在做babel的同时,我也在探索如何更好的利用技术工具来影响团队组织架构。以babel举例,实际上整个框架生态分为三类人:

业务研发。

在框架上提供服务,或调用他人的服务。由于绝大部分的通讯细节已经封装好。业务研发可以更加专注于他的业务方面的逻辑。

框架研发。

研发babel通讯框架,以及其支撑的其他框架,比如监控报警等。框架的研发更多的关注与系统底层,比如稳定性、性能、各个service的数据积压等。

架构师。

这个是最重要的角色。如果说整个公司的系统就是一张图,那么框架研发就提供了纸和笔——业务研发提供了一个一个点,但是是孤立的,架构师则可以以点连线,完成整张图。
在这里,架构师需要关注很多整体上的指标和大局,比如谁和谁连,实例数多少,是否持久化,等等(babel service的schema由架构师决定)。可以这么说,babel给架构师提供了一个可以去描绘大系统框架的技术手段,从而避免了长期空对空的局面。现实中,见过好多不会写代码的架构师,主要原因就是缺乏这类供架构师使用的工具。

在公司内部,从一开始我们就做类似的划分。babel不仅仅是用来做系统组件间的解耦;同时也是不同角色人的解耦工具。

5未来的脚步

从个人的角度看,babel目前也才堪堪能用,只做到了30%的完成度,要成为一个完整和成熟的系统,还有很多路要走——

在现有的基础上尝试做workflow功能。babel重合了部分storm的功能,希望能做更多的覆盖。

着手central config的开发。目前service的配置与分发还不能做到自动化,有手工工作量。长远做集中的配置管理分发是必须的。

完成zeromq的后端实现。对于低延迟、本地应用来说是必须的。

完成自动化发布、部署,将整个系统做一个统一的整体。

研究弹性伸缩方面的非功能性扩展。

考虑增加熔断等自我保护机制。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40634.html

相关文章

  • babel: yet another rpc, but far beyond rpc(中)

    摘要:前两种的方式毕竟会多几跳中转,但在路由的灵活性和通讯语义的提供更丰富的选择,而且在大数据量的处理上,吞吐量和平均延时并不会比直连差很多。跨机房的通信和本机房的通信有所不同本地机房的通信讲究高吞吐量,类访问会要求低延时。 showImg(https://segmentfault.com/img/bVQ2BQ?w=400&h=277); (图片源自网络) 2 架构描述 简单架构 从之前的描...

    gityuan 评论0 收藏0
  • 简易RPC框架:基于 netty 的协议编解码

    摘要:概述在简易框架需求与设计这篇文章中已经给出了协议的具体细节,协议类型为二进制协议,如下协议的解码我们称为,编码我们成为,下文我们将直接使用和术语。直接贴代码,参考前文提到的协议格式阅读以下代码协议编码器 概述 在《简易RPC框架:需求与设计》这篇文章中已经给出了协议的具体细节,协议类型为二进制协议,如下: ---------------------------------------...

    Loong_T 评论0 收藏0
  • 用以太坊区块链保证Asp.Net Core的API安全(

    摘要:上一篇用以太坊区块链保证的安全上我们介绍了基本的解决方案,这一篇我们重点来看客户端。是以太坊的实现。以太坊,主要是针对工程师使用进行区块链以太坊开发的详解。这里是原文以太坊区块链的安全设计 上一篇用以太坊区块链保证Asp.Net Core的API安全(上)我们介绍了基本的解决方案,这一篇我们重点来看客户端。 正如我们所说,我们的DApp是一个简单的HTML/ES6客户端。我们将在Asp...

    xuhong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<