广东快乐10分预测

当前位置:广东快乐10分预测 > 广东快乐10分预测 > 阿里中间件需要怎样的架构师?广东快乐10分预测

阿里中间件需要怎样的架构师?广东快乐10分预测

来源:http://www.btxygg.com 作者:广东快乐10分预测 时间:2019-10-19 19:45

广东快乐10分预测 1

如果偏向业务架构师的,那就需要对业务有深入了解,对业务需求有比较深入的了解。

导读:最近几年,知识付费型产品纷纷登上舞台,大家可能了解过最近的罗辑思维的跨年活动,或者也用过得到 app 来进行新知识学习。对于得到这样的产品,背后的技术挑战及经验外界了解不太多,恰逢罗辑思维首席架构师方圆作为中间件论坛的出品人参加 2017 年 12 月的 GIAC 大会,高可用架构对其进行了采访。
方圆,罗辑思维首席架构师,曾先后在 Cisco,新浪微博从事基础架构研发工作。十多年一直专注于后端技术的研发,在消息通信,分布式存储等方向有着丰富的经验。个人技术兴趣广泛,主要专注 Go/Java/Python 等编程语言的发展,尤其是在云计算等前沿领域的应用。
身边很多朋友都在使用得到 app,但是对于背后的技术团队大家可能还了解不多,能简单介绍一下你们技术团队吗?作为得到的首席架构师,您的日常主要职责是什么?
方圆:得到的技术团队主要包括前端(Web,iOS,Android),得到后端,商城团队,基础服务团队,大数据团队和运维团队。我的工作主要是带领得到后端团队负责得到 app 后端研发。其中包括业务系统功能日常研发,还有内部使用的服务框架和工具的研发。
您在 2017 年 12 月的 GIAC 大会担当了中间件专题的出品人,能否给广大读者介绍一下什么是中间件?对于一个架构师,如何看待中间件的价值?方圆:中间件是非业务的技术组件。个人以为广义上来说,除操作系统之外,其他都是中间件。当然一般意义上来说,中间件主要是消息中间件,框架,配置服务,缓存等等。
中间件对于应用系统来说最重要的价值是,减少应用系统控制逻辑的复杂性从而让工程师尽量多的关注应用的业务逻辑,举例来说比如服务框架可以降低我们拆分服务的复杂度,类似 DRDS 这样的框架可以让程序员尽量少的关心分库分表,通过消息中间件可以对一些应用系统解耦。
而对于工程师来说,学习中间件可以迅速提高自己的抽象能力和代码能力,最好是能够在熟悉之后,尝试自己实现一个小的 demo 从而加深理解。大部分团队在项目中采用开源的中间件,也有一些团队比较青睐自研,对于引入和自研中间件有什么建议?方圆:在业务初期试错阶段,建议采用成熟的开源的中间件,这样避免踩坑,也能够加快开发进度,但在中间件的选型上要根据自己团队的熟悉程度来确定,不能盲目跟风,降低团队整体的学习成本。
而业务发展稳定阶段,可以根据自己的业务特性来自研,同时也要考虑公司的资源投入情况,以及兼容主流的数据格式或者通讯协议。自研的周期一般较长,需要拆解成阶段性目标,这样利于落地,同时也要兼顾旧系统,充分考虑将来上线数据迁移,业务平滑过渡。
阿里在 2017 年重新成立了 Dubbo 开发团队,本次 GIAC 中间件专题也有相关的分享,从大会现场的了解的情况来看,Dubbo 有哪些新的变化?方圆:参会人员对于 Dubbo 的关注点主要在以下两点:第一,阿里对于 Dubbo 的支持到底如何?第二,第三方团队如何给 Dubbo 贡献代码?
阿里这次重拾 Dubbo,官方很有信心让 Dubbo 成为 Apache 项目,前段时间也看到 Dubbo 3.0 的消息,新的 Dubbo 内核与 Dubbo 2.0 完全不同,但它兼容 2.0。Dubbo 3.0 将以 Streaming 为内核,而不再是 2.0 时代的 RPC,但是 RPC 会在 3.0 中变成远程 Streaming 对接的一种可选形态。具体的变化还需要等 Dubbo 新版本 release。Kafka 最近几年在大数据领域得到了广泛应用,能介绍下 Kafka 领域发展的一些动态吗?相比于前几年,Kafka 的使用场景和关注点是否发生了一些变化?方圆:近几年 Kafka 关键版本升级:
0.8 支持副本模式,增强容灾能力
0.9 增加了 groupcoordinator,彻底解决 partition 和 consume 的动态调
0.10 支持流处理功能,同时将 consume 的 offset 移到默认 topic 里
1.0.0 stream 能力增强
2017 年 8 月 5 日 Kafka 发布 0.11 版本支持 exactly-once,增强了事务处理能力
2017 年 8 月 LinkedIn 开源 Kafka Cruise Control,提供自动化运维功能
2017 年 8 月 28 日 Confluent 宣布开源 KSQL,用于 Kafka 的流数据 SQL 引擎
2017 年 11 月 3 日 Kafka 宣布 1.0.0 发布
Kafka 使用场景最大的变化:最早大家主要用 Kafka 做些日志处理系统,后来主要应用在消息队列系统,近两年随着 Kafka stream 方面处理能力增强,逐渐转变成轻量级的流处理平台。
另外 LinkedIn 团队最近也在 Kafka 自动化运维方面作出了很多工作,本次大会来自 LinkedIn 团队的秦江杰介绍了他们实现的自动化运维工具 Cruise Control,之前也看到高可用架构有文章介绍该工具。去哪儿的余昭辉老师在 GIAC 大会上分享了消息队列(MQ)的主题,能给大家简短介绍下他的分享主题?对于使用 MQ 的场景有哪些启发?方圆:去哪儿的 MQ 分享的内容对落地分布式事务来说很有帮助。讲师的分享主要分两个部分,一个是分布式事务的简单模型,另一个是因为需要支持分布式事务,去哪儿自研中间件都做了哪些优化,并且还跟流行的消息中间件做了对比(比如 Kafka 和 rocketmq)。对于我们公司来说,正好也要落地分布式事务,跟讲师交流了不少细节,避免我们踩坑。让我们把话题再转回到你们团队,得到最近的跨年演讲受到了广泛关注,为了应对这次跨年,你们做了哪些准备?方圆:我们从 2017 年 10 月份正式开始准备,实际上最早的准备工作从 9 月就开始。工作主要集中在以下几个方面:
业务架构梳理 我们梳理出了很多潜在的问题,比如早期的系统里有很多双向调用,也有很多随意使用资源,还有很多引起读放大或者写放大的代码,还有很多不合理的调用关系栈,对业务系统有个比较清晰的架构。同时也在调用链路上发现一些问题。
服务/资源拆分 早期主要业务系统是一个整体式架构,核心业务调用链上只使用了一个数据库,缓存使用也是集中在几个主要的缓存集群中,因此我们做了很多资源和服务拆分,分散压力
重要服务代码重构 相应的主要业务模块拆分成单独服务,做好对资源的抽象,为了应对较大的压力,我们实现了一个简单的多级缓存框架,所有代码重构项目都使用了这个多级缓存框架,保证业务系统的处理能力
压力测试 压力测试分两部分,一部分是功能上线前由开发工程师进行相应的压力测试,如果有问题通过 Go 语言相应工具进行分析,提高到一定标准后才能上线发布。另一部分是由阿里云 PTS 团队提供的全链路压力测试,我们在 3 个月时间内进行了 18 轮全链路压力测试,覆盖到得到主要接口(接近 200 个接口,覆盖率接近 50%)。通过单个服务的压力测试,我们解决了单个服务的性能问题,通过全链路压力测试,我们解决了调用链路引起的问题。经过 18 轮压力测试后,系统负载能力提升 25 倍以上,为跨年作好准备。
API 网关 即使我们做了前面所述的业务拆分,服务拆分和重构,我们也不能保证系统 100% 不出问题,特别是那些没重构的系统。毕竟系统的负载能力取决于最短板。我们解决这个问题的方法是引入 API 网关。我们在 9 月份的时候,引入 API 网关,跨年前对一些可能出问题的接口做了对应的限流策略。
提问:据了解得到在跨年前夕做了重要的重构,简单介绍下这次重构的背景及成效吗?方圆:重构背景其实也比较简单,去年 8 月 31 日,得到第二次产品发布会在深圳卫视和多个视频网站播出,带来的流量是平时早晚高峰的 4 倍左右,导致一次大故障。因此从 9 月份开始,我们集中一部分开发力量重构了 10 多个重要的业务模块。在重构的过程中,主要考虑以下几点来优化性能问题:
严格控制资源(数据库,缓存)使用 早期服务对资源使用很随意,有很多引起读/写放大的代码,因此新系统严格控制对资源的使用
保证非核心业务数据可以自动降级 对非核心业务进行自动调用降级,但是因为我们使用 Go 语言的原因,尚未做熔断机制,这也是我们 18 年确定的落地目标之一。
保证核心链路稳定 对于跨年的核心链路来说,比如收听,购买,拉新,兑换,我们保证核心链路不被非核心链路影响。
对写入进行削峰处理和异步化 对于购买流程来说,我们部分做了异步化,对于非购买相关的业务流程,我们通过 MQ 进行了削峰和处理。效果还是很明显,削峰和合并写入之后,相关数据库 IOPS 降低一个数量级。
提问:得到在跨年活动期间,应对情况怎样?有没有一些意料之外的问题,当时怎么应对的?方圆:跨年活动期间,状况基本在意料之中,核心系统最高峰时期的流量也只是我们准备的 1/8 上下,因此核心系统压力不大。夸张一点讲,核心系统可以应付 8 个罗胖一起跨年而没有太大压力。但是一些遗留系统依然有很大压力。比如我们有一个遗留系统,在流量高峰时期数据库压力很大,当时我们通过监控系统发现该系统有很大压力,迅速通过网关对该系统的 API 进行限流,保证该系统不会宕机。提问:通过这次跨年活动,团队想必有很多收获,能介绍一下这次应对的一些经验?
方圆:个人总结下来,以下三点是比较重要的:
全链路压力测试 得到后端的服务化刚开始做,还没有 tracing 系统。虽然我们可以保证单个系统的处理能力,但是当多个系统组合起来的时候,系统的整体表现就难以把握了。阿里 PTS 帮助我们发现了很多调用链路上的问题,每次压测都能发现一些新问题,压测后迅速解决,因此可以看到我们每次压测的系统负载能力都有很大提高。
API 网关 如上所述,使用 API 网关对 API 进行限流,保证即使有问题的情况下,保护后端系统,以让部分用户可以正常访问。
核心业务链路重构 对于有坑的老系统来说,一定不能手软。进行代码重构可以一方面提升系统处理能力,另一方面也保证后续功能开发可以轻装上阵。
作为一个首席架构师,请问您每天还写代码吗?如果有的话,您的代码主要是在哪个领域,对团队有哪些贡献?您觉得首席架构师对团队的价值主要提现在哪些方面?方圆:我不是每天都会写代码,但是还是坚持定期有代码产出。我的代码主要集中在一些公有库/框架/工具上,因为这些代码对于整个团队的开发效率和代码质量很关键。
举个例子来说,我们有个服务上线前进行了压测,发现单台机器最主要的接口 QPS 只有 300 多,通过火焰图发现问题之后,对公有库进行了少量代码改造,一天之后再次进行压测单台机器 QPS 就可以到 12000 左右,并且由于是在公有代码库方面的改动,其他使用该库的业务模块也都获得了数倍性能提升。我个人认为首席架构师应该有以下几方面的工作:
公司架构团队的管理工作;
技术方向的确定,架构分析,设计和部分实现;
公司技术平台和业务线之间的相互促进;
业务架构和实现的把控。
很多团队的架构师并不带人,因此不能直接要求工程师按照自己的想法去执行,这种情况下,架构师如何更好提现自己价值?而避免仅仅成为 CTO 或者技术总监下面一个执行者?方圆:我个人认为如果架构师不能带人的情况下,是很难影响工程师的执行方案的。工程师在执行的时候,可能会有各种因素影响他选择执行方案,架构师只是其中之一。另外大家在不同的位置,不同的时候,不同的背景,对一个技术问题的看法,对一个技术方案的选型,都可能有不同的看法,本身也是很正常的事情,架构师具体要靠什么方式来落地也很难有固定的模式。
举例来说,我刚到公司的时候就在强调读写放大的问题,但是没有人当回事,各种原因都有,大部分人都觉得功能开发太紧了,顾不上,直到我负责得到后端的具体工作,才能强制大家落地解决。最终大家发现其实不会增加多少工作,就可以让系统处理能力提升一个数量级,在后续的工作中,不需要再进行强调,大家也会这么做。
我个人认为架构师和 CTO 及技术总监的角色还是不同的,CTO 以及技术总监管理的身份更重一些,而架构师更多是一个技术身份。对于 CTO 以及技术总监,他们需要放手让架构师去做设计和实现,对于架构师,除了做好架构工作之外,也需要辅助 CTO 技术总监,做一些管理工作。
小编:感谢方圆的访谈,大家对于得到架构以及中间件技术方面任何问题,欢迎加群561614305 同时也免费给大家提供一些视频
大家对于得到架构以及中间件技术方面任何问题,欢迎通过留言与方圆进一步讨论

5.AIOPS-展望未来

姬风:由技术形成产品的难度

我们业务型也是一样的,原先我们卖公募基金的,还有卖私募的,就是百万起,高端的,像诺亚财富。总而言之大家能看到,我们好买遇到的技术壁垒和所有的互联网 团队都是一样的,技术栈变复杂了,数量变多了,业务也变多了,但是有一样没变多,什么东西?人。

姬风:阿里主要还是推 dubbo 的 rpc 框架。不过今年阿里也会在云产品上基于 spring cloud 提供一个完整的基于中间件的一套分布式的实现,让我们的外部客户可以基于spring cloud 的这种 api 开发,但是又具备中间件的技术支撑能力。

Zabbix做一些基础性的,像端口、CPU,它的定位为什么不好?因为它的应用没有办法进行关联。还有ELK,做实时分析。

再往上是整个的消息中间件,包括事务消息、顺序消息的中间件 Notify 和 Metaq。还有我们在集团中广泛应用的服务框架 HSF。

他特别特别会算帐,所以在这样的公司做IT是非常辛苦的,为什么辛苦呢?你要经常去跟他谈成本,他也会跟你经常谈成本,但是那些人民币不懂。

Q:阿里中间件技术团队以后会在深圳这边设立部门么?

4.12-13

3.技术的厚度

这两张图能看到什么不同点吗?一个是运动跑步,一个是机房。在我看来太枯燥,跑步也是枯燥的,太乏味,甚至太难以坚持。

在经过基础的锻炼后就可以从事一些基本的构架师工作了。这时开始就需要有意识的往全面性发展。你可以参加一些跨部门项目来了解别人的方案和自己的架构师设计来做对比。同时也不要放弃一线编码的工作,这会帮助保持自己的技术敏感度。比如最关键的编码部分应该有架构师来完成,因为这些地方会影响最后的成功与否。

痛点2:就是裸用各种开源的监控,无法精准定位。很多人用 Zabbix,它是干嘛的?就这几件事。请问一下,如果你知道这几件事情,你知道故障的真正来源吗?你知道应用是哪个系统引起的吗?你大部分是不知道的,如果真的是由于设备和故障引起的话,好解决。

刚刚自修谈到的挑战,我其实也有非常切身的体验,我这里补充一个非技术上的挑战场景吧,关于我们中间件的云产品。

广东快乐10分预测 2

2. 面向海量数据时,如何在快速、实时、低延时地导入过程中,还能让业务方可用。

对于资源的对应情况,用了多少资源是不知道的,怎么办?每天统计一遍,输出一个Excel,我们一个同学一边花一两个小时干这个事,我们同学说了干这个干什么呢?老板用啊。

如果想在生产系统上得到鲜血淋漓的教训的话,去阿里更适合一些,因为阿里有这样的场景和机会,在家里没办法体验到这种感觉。

广东快乐10分预测 3

Q:在使用一些开源技术组件的选型上,阿里团队会考虑哪些方面,使用什么指标评估呢?

很多人如何看待我们的运维?第一个就是客户越来越多,速度越来越快,需求越来越复杂,要么招不到,招多不划算,招少不够用。

姬风:中间件团队其实没有专职的PM角色。如果要做跟业务有关的项目,有些人可以承担PM的角色。因为PM会专注于业务的结果,而架构师可以在技术上面保障业务的结果。由于平时是没有PM角色的,所以一般都是架构师自己去承担的。

广东快乐10分预测 4

往上就是存储层、数据库相关的,包括缓存 Tair、文件系统相关的 TFS、我们的框表 HBase、面向海量数据分析型的列式数据库 HiStore 以及面向于时间序列相关的 HiTSDB,还承接阿里巴巴整个交易平台过程中需要的关系型数据库 MySQL 和金融场景相关的 OceanBase。

运维的苦与乐,全球运维大会懂你~

近年来我们在阿里云上输出的场景也带来新的锻炼。我们不仅仅服务于电商行业,也开始为阿里云的其他客户,比如央企、金融、制造、汽车各个行业提供我们的架构支撑,这也是一个很好的锻炼架构师的机会。输出中间件的同时也可以接触到各行各业的业务,了解业务方在做什么事情,这对架构师很有帮助。

举一个例子,在我们系统里面是不是在座的运维同学遇到的常见问题就是连接池爆了,怎么管理呢?中间件往什么方向发展,架构布成什么样子,是应用和前端应用系统决定的,不是运维决定的。

四、中间件需要有何种素养的架构师?

广东快乐10分预测 5

姬风:Eagle eye 的监控日志是按照 trace ID 采样,它的好处是可以完整的保存数据。由于压缩是 high store 列式存储方式,有比较高的文本的压缩比。而链路日志主要是分析问题,所以不需要对所有的数据进行计算和存储,这样我们可以通过采样的方式计算和存储。从而对字段进行编码压缩、分析链路的形态对形态做压缩处理。

痛点1:资源信息管理与维护成本高。我们的虚拟化已经达到95%以上了,也用了超融合的架构,也是用资源池调配,但是上面的中间件转成分布式,都是动态的。

一、阿里中间件为什么被称作「架构师的摇篮」?在阿里中间件团队有哪些职业发展的路线呢?

广东快乐10分预测 6

除去刚刚讲的之外,还需要掌握经典的一些基础算法,哈希、排序、最短路径、矩阵运算与傅里叶变换、动态规则等等。

广东快乐10分预测 7

  1. 业务系统中可能有许多维度,我们需要根据任意维度进行查询。

我现在保证单机房的控制台,从一个控制台登录可以管理三个机房,可以根据需求使用你的私有云和你的托管区,这是我们的一张图谱。

Q:阿里自己研发 rocketMQ,如何评价 kafka,kafka 这个级别应用能满足阿里性能要求吗?

广东快乐10分预测 8

再之后做链路跟踪产品然后满足了一些实时监控需求的时候,我们发现有许多客户会提出很多类似的业务需求。我们刚开始是在代码上做出修改然后上线。后来需求太多实在做不动了,我们一想这些都是通用的需求,是不是可以用一个更好的产品化的方式提供?我们对Eagle eye的技术做了一次重构和一个实时数据处理平台,并开放给业务方让他们配制出自己的流程。

这个内容大家看得清楚,当缓存响应慢的时候怎么办?一个小伙伴连接集群,查日志,这是一个日常苦逼的运维在干的事。

再之后我就做了Eagle eye的链路跟踪的产品。其实之前积累的这些问题排查和服务架构等等都在做新产品的时候有很好的帮助。如果没有之前的技术背景打底,我也不可能对产品有更深入的理解。另外这个阶段也是在开拓自己之前未知的领域。

广东快乐10分预测 9

在中间件,职业路线也不会非常死板,有些时候需要人才身兼多职,毕竟人员的发展也不会一成不变。"跳出自己的舒适圈"也是一种对于能力的锻炼。

这是我们面向PaaS的运维平台,我们原先没有中台的,没有流程逻辑这块的,我们现在正在增加,所以我把颜色标为橘黄色,下部分我们都有了,我们中间件的部分只包含中间很小一部分,在右侧分布式服务这块,和预警告警这块,其他的部署发布目前我们都有。技术栈没有什么区别,也没有什么难的地方,就是现在外面大家用什么我们用什么。

二、阿里中间件的技术栈涵盖哪些范围?

广东快乐10分预测 10

我可以举一个例子来说明这种挑战:普通的 SATA 盘,每秒钟也就能写入 500M 左右的数据,大家可以想一下,一小时才能写入多少数据。如何才能达到每小时 10T 的写入数据?大家可以算一下,这个差距是非常大的。

广东快乐10分预测 11

康康(主持人):我们曾经向很多优秀的候选人了解过他们的职业发展目标,很多人会说想做架构师。但是我觉得,走在架构师之路上,最重要的事情还是先去了解一下,资深的架构师、顶级团队的架构师是一种什么样的状态,才能让大家了解应该前进的方向。我们很荣幸地邀请到顶级技术团队,阿里中间件的技术 Leader 姬风和自修为我们进行分享。

后面这几张图,这是我们几张界面,这是我们现在用的,应用所属产品线,我们现在的云整个中间件团队运作模式跟阿里云是完全一样的,说白了是我们照抄人家的,组织结构也是照抄的,我们所有的,包括缓存消息,分布式数据库,统一分配系统按照产品的规划方式对外输出,向所有的FT团队进行兜售,比如说小张管A系统,小李管B系统,我跑过来卖。这是市场化经济,有的同学可能听不懂,在我们的公司全部都是CTO强压的,你必须搞这个动作。

我们原本都是自己运维内部产品,集团内部的部署规模也是一套到几套而已。现在则需要我们快速的部署到客户环境里并且同时把中间件的技术产品和运维交给合作伙伴和客户去做。这是一个完全没有考虑过的挑战:整个运维的成本和问题的排查。

痛点3:还有缺乏短链路监控与排障手段。什么叫短链路?我举一个例子,因为我们现在采用的是运维下沉中间件团队单独服务所有的分布式中间件,这个时候当遇到故障的时,业务端说你很慢。

自修:业务理解最重要。刚刚列的顺序就是按照我心中的重要性的排列。

广东快乐10分预测 12

最近阿里出版了一本《沉浸在双十一》,我自己看的一些书还有《系统的思考》《邓小平时代》《三体》《浪潮之巅》《数学之美》《在线》

比如说我们公司的缓存某一些切片要求非常高,不允许你的抖动在交易24小时大部分时间,包括交易时间,你的抖动每一次访问不允许超过50毫秒或者30毫秒,或者说20毫秒。

7.市场洞察,需要观察整个业界在做什么、有什么新的发展、技术等等

  1. 背景介绍

自修:第一个挑战 - 11.11大促

运维工作

姬风:中间件是中台里面的一个部门。

案例2:当消息阻塞时的排查过程,这种情况是什么?一会儿好一会儿不好,业务说我也没有问题,前端的产品说我就很慢,我为什么这边的数据就是看不到呢?用户为什么就是看不到那笔交易呢?最后查下来大部分的锅确实是中间件的,因为有时候阻塞有时候不阻塞,罪魁祸首是消费方,他消费慢了,它坏了,但是还是要找你,你能不能不阻塞,我说你能不能消费快一点,他说你们都是技术精英,你们应该在这种烂的情况下怎么解决这个问题。你没有办法狡辩,我要拿出数据告诉他到底哪里有问题,并且把界面交给他让他自己去看。

康康:你觉得八个要点中最重要的是哪一个?

所有的技术,圈内有一句话,所有的优秀架构都不是设计出来的,优秀的架构是迭代和演变过程迭代出来的。大家相信吗?全是迭代过来的,为什么迭代?因为需求堆出来的,不管是前端还是后端业务需求。

Q:推荐一些值得学习的书籍?

不用展开,大家都知道。这个是你所有的缓存切片的图,哪个占的最好,哪个占的最小。最后一张图,是混合云进行漂移的实例,可以选择不同的切边。

康康:现实问题 – 公司技术架构不复杂的情况下,想成为架构师,平时工作中应该怎样学习累积?

广东快乐10分预测 13

图的底部就是阿里的 Iaas 层面面,主要包括了网络、机房。

广东快乐10分预测 14

刚刚有同学问到,存储是如何压缩的。这里可能会涉及到不少有技术含量的东西,太细节的我就不说了,主要是通过以下几种手段:

因为是系统导致的问题,你要赔我的,我买的越多,你赔的越多。我们公司有一句话,为什么会出问题?因为人品好。这次出问题正好在3 :05分,交易时间过去了,但是再好的人品也会刷爆的。

一方面,支撑的业务场景的复杂度,有比较大的锻炼。比如:中间件团队参加和主持双十一备战,推动一些全局横向的项目,经常看到中间件一起和业务方的研发一起梳理系统的架构依赖和稳定性,一起解决业务上的难题、提升系统的可用性、扩展性和性能

先来说一下我们为什么要去做中间件。我相信在座很多大家听过很多大型公司里听到一些东西,比如我们现在的阿里云,前身就是阿里中间件团队,只是现在做了技术赋能和技术输出,把技术变现然后对外输出。

之后则是看硬的技能和资格,比如过往的经验、知识面、教育背景、做过的事情和我们的事情的匹配度等等。然后还有软的方面,比如情商、智商、兴趣点、偏好、特质等等。阿里的面试通常都会由很多面试官综合考核和判断候选人是否合格,包括分析你的技术、架构、情商等等。

大家看到没有?这就是一个非常经典的缓存界面,

5.沟通能力,因为团队协作需要良好的沟通

所以能上的是资讯类的,行情类的,或者说其他的跟金融基金交易牌照没有任何关系的一些数据,可以放到云机房当中去。

第二个挑战 – 海量数据实时分析:

大数据做什么?做比对。比如说,我们缓存数据,它哪个K更新的最多,哪个K更新的时间最长,哪个最大,这个要比对,哪个下降了,哪个没有下降,数据的失效情况,哪个合理哪个不合理,这些数据从什么地方来,都是经过我们大数据分析得出报表得到的。简单来说,大数据主要处理离线数据。

姬风:这个还是要看它的存储的。如果它是单份的,那么可靠性就是4个9。而随着备份数、冗余数的增多,可靠性也会上升。

广东快乐10分预测 15

在往上,属于分布式的数据层,就是如何把海量数据进行分库分表,围绕这些数据库进行数据迁移。

第三点,重要性更高。我们公司最近在办“王者荣耀”的比赛,我们团队有一句口号,如果你敢战胜我,我就按一键销毁的功能。

但是中间件做完云产品之后就发现自己的客户群发生了变化,客户更多并且分布全国各地。有些对你的技术产品有足够的了解,而更多的则是完全不了解的。我们对客户的业务也更加陌生,因为客户已经不仅仅局限于电商。

广东快乐10分预测 16

自修:招聘的时候有 4 个关键词:聪明、乐观、自省、皮实

我们是从去年开始进行混合云,有的同学说了,干嘛不知道做双活呢?为什么不直接上公共云呢?首当其冲的是监管不允许。

基础中间件

我今天来讲几个内容,首先来给大家介绍一下,因为很多同学会说讲技术就讲技术,做什么背景介绍,咱们这个世界都是由客观组成的,不是你的技术用在我这边就可以的,因为我们每个人在公司解决的是业务性问题,或者痛点性问题,如果你的公司一帆风顺,你的老板不需要花钱请你来。

如果偏向于技术栈架构师,那就需要对底层有深入了解,比如事件驱动驱动模型、异步模式、并行、Linux 系统等等。

简单一句话,当你公司变成多条业务线的时候,从单业务的业务方位变成多维的业务方位的时候,举一个例子,你又卖食品又卖其他的东西,有多条业务线,中间需要的业务产品是不一样的。

我们每年都会在11.11的前4-5个月就开始进行演练。比如我们平时使用10台机器,在大促那天则需要100台机器。那么我们如何在11.11那天快速的建站?比如如何在 10 分钟内部署完毕?怎么在同城、异城进行容灾。对此我们其实有一整套的自动化工具。

GOPS 2019 · 深圳站

也会根据阿里的业务提问来看看候选人的方案是怎么样的,我希望能看到基础能力和对框架的了解、技术的深度和广度的体现。同时我也关注技术上有没有保持好奇心、有没有跟进新的技术。

4.从单机房到混合云,我们做了什么?

康康:为了获得胜任架构师的素养,新毕业的工程师通常需要多少时间或精力?

消息阻塞通例,也是通过下端消费直接情况,

其实两年前做中间件,主要服务于内部业务,自己做研发和运维。这就好比以前手机只要保证信号好、待机时间长、声音清晰就可以了,外观反而并不那么重要。

简单介绍一下公司,很多人一听什么什么财富,我们公司不做P2P,我们有一个爸爸有一个妈妈,爸爸是腾讯,妈妈是联想,大家在手机上打开理财通,腾讯也是我们公司最大的股东,我们公司几年前在新三板挂牌上市,我们现在叫腾讯系的财富公司。我们不做P2P,我们是做基金的。

  1. 整个阿里巴巴体系下,基本以 MySQL 生态为准的,如何兼容 MySQL

  2. 以 MySQL 做海量数据实时分析的话,索引会越来越膨胀,其实会非常不适合海量数据的分析的。如何设计一整套的智能索引,低成本、高效地导入,还要有实时分析,其实对技术方面有非常大的额挑战

还有分布式很多的开发和研发,分布式对于业务开发来说是非常好的事情,有非常多的优点,对于运维来说是一场灾难。我们看一个场景,我当时在IOE做架构的时候很简单,现在呢?所以我们走的方向是什么,一句话把能力赋予工具或者平台,用最低的成本交付与开发,自己玩去吧。

刚开始是深入的积累,然后是跟牛人学习。这段时间里需要做很多的思考。最后会接触很多新的技术领域并深入拓展。

遭遇故障或者流量突增的时候,我们现在是这样的,根据时间段不一样来把我们的中间件的主机放在云机房。有的同学问了,你刚才不是说不可以吗?我说的是应用系统不代表中间件,中间件是可以的。

康康:在面试架构师时,如何考察?

有的同学说了,这个传统运维做不了,对,我们现在里面有架构师,有产品,有测试,有开发,有运维。所以我们现在的运维转型相对简单?因为我们传统的运维同学在跟着我们的架构师学开发,而且我的架构师是可以给我的运维赋能的,因为我是一个闭环的团队,我只需要对外输出,人性化的界面和管理控制台,并且输出各种各样的SDK和接入方式的适配器就可以解决了,这个东西不需要运维来做,需要开发和架构师来做就可以了。

再向右,是资源管理/调度弹性/容器化系统。

我们很多搞技术的同学都是完美主义,你到一家公司希望遇到干干净净的一套系统,做你想做的事情,请问,是这个样子的吗?招人的时候觉得怎么怎么好,进去了以后发现很多坑。但是你根本不知道当时发生了什么,我们进去要面对很多问题,很多客观环境,案例和解决方案充斥着我们很多人的日常工作。

  1. 我们主要是通过列存的方式把数据 appendonly 上去。

  2. 我们目前的数据库体系下面有 17、18 种对业务层透明高效的压缩算法。我们的低成本存储压缩比可以达到 10:1 左右。

饿了么送外卖丢了一个东西,最多赔你一个,那个东西你能赔吗?你可能赔不起。我们通过SDK,包括我们代理层,包括所有中间件的系统进行短链路的监控,当前端出现问题的时候,我可以非常清楚定位到底哪个节点出现了问题。看一个例子,业务说下单报错了;前台说,我没问题,问问服务报错了吗?中台说,是你没调过来吧,我连日志都没打;运维说进程都在,也没看到ZB报错;后台说,胡说什么,我这有反应,你传错了;DBA说,你叫什么叫,连数据库都没连上;运维说,傻X,MQ阻塞了,不知道都在叫啥。

康康:因为架构安排人员,还是因为人员调整架构?

我们公司是做基金交易,如果系统出问题的话,如果今天交易因为系统的问题没有交易成功的话,第二天基金市值大涨的话,我是要赔钱的。

中间件深入研究了一个时间序列数据库,主要应用于系统监控、实时分析、面向未来物联网、车联网等领域的几大存储。这里面有几个重要的核心,比如无论你用哪种语言,无论是C 、Java,怎么把字节通过压缩的算法达到最高的压缩比而且最快的写入速度?我们可以通过自研的深入研究的压缩算法能够从 16 个字节 256 位降低到 1.37 个 byte。

广东快乐10分预测 17

自修:

在研发的视角中,或者架构师的眼中并不是很难的事情,但是要记得做提前更新。在北京有DevOps学院,里面说过一句话,很多公司谈DevOps,你NG还在调优呢,你还DevOps。那边小伙伴在做NG调优,你这边做DevOps,合适吗?你没有标准,怎么做DevOps。

姬风:中间件是主要以杭州为主,北京也有不少,不过深圳目前没听说过有计划。

大家都有交易,都有账户,所以阿里有一个叫共享业务事业群,中间又有共同的业务栈,以前我们的做法,比如说饿了么,很多的这种互联网公司,他们的做法就是把缓存作为应用的一部分,我用了任何一个技术栈,我用就可以了。

其实怎么都可以,毕竟条条大路通罗马。我的建议是先做靠谱的事情,不要浮躁。对于交代下来的事情要认真、考虑的更全面、更积极主动、对事情做更多的反思。如果这些都能做到那么你已经可以超过 80% 的人了。

我的分布式要做一致性,消息、缓存包括统一的分布式调度,统一的分布系统,决定了你的系统是不是好得起来,是不是安全,遇到高流量的时候是不是能够快速拓展,拓展的过程中会不会引起其他的故障,这全是中间件决定的。这三点区分了应用运维,我指的应用运维是偏前端的,不是 IaaS。

姬风: 我通常会寻找候选人的那些可以打动我的亮点。我会问他们之前做过的项目,寻找一些代表性的能力。我也会看候选人的方案思考、选择的过程和结果,以及最后总结出了什么。能打动我的亮点就是他们的设计思路、表达清不清晰,比如像我这种不懂业务的人也能听得明白的描述。

怎么演进?第一个,明确的边界、松耦合,我们帮助他们做边界的划清,通过SDK的方式。基于Google Dapper实现的TRACE ID。

这些会帮助建立起一个靠谱主动的信任关系。关系建立后会带来更多的机会,而机会也会带来越来越大的挑战。这时专业知识会碰到许多原本没有覆盖过的地方,从而需要你去选择兴趣点和未来的倾向。在这段时间里可以多看看领域的同行的经验,学习他们的长处来找到自己要突破的技术点。在这段时间里也要有阶段性的产出,比如一些总结和分享,之后就会慢慢的成为一个专家。

。这个很简单,我们在座如果做研发的同学很简单,我无非通过一些命令把MQ中间的数据接口反馈到数据库当中,这个技术没有什么难的点。

自修:在阿里的体系里面 P 和 M 其实并不是分的那么清楚。我们所有的技术 leader 其实也负责 M 的职责。我举个例子,没有金刚钻怎么揽瓷器活。你需要在技术水平上达到一定的程度、在业务了解上达到一定的高度。公司也会对技术人员做一定的判定。

可能有的人听到什么什么公司,金融一听觉得好像特别高大上,通过今年一年大家听到金融会觉得特别害怕。对不对?而且好像听金融公司,觉得你们公司好有钱,你们会做很多事情,会大手笔。

我现在是 EDAS 和 ARMS 两个云产品的研发负责人,现在的云产品同时支持公有云和私有云两个版本。我一个比较深刻的体验师,从一个好的技术到好的产品,其实有很长、很难的路要走。

中间件运维有哪些痛点?首先问大家一个问题,应用运维和中间件运维有什么区别?有很大的区别。区别在哪儿?

因为Eagle eye涉及到的数据量非常庞大,所以在如何计算和存储的方面上自己也恶补了许多知识。现在回顾起来,其实当时自己也走了许多弯路。如果我当时是一个更有经验的构架师那可能就会少绕一些弯路,我也会对数据规模也有一定的敏感度,而这个产品也会更快一些。

点击阅读原文,抢购GOPS · 深圳站9折优惠

姬风: 我刚到阿里的时候其实没想过要做中间件。当时淘宝已经完成了服务化的转型,而我投入到这个团队里面也是帮忙做一些排查业务问题、调差性能等等琐碎的事。后来有一个机会可以支持整个服务框架的多语言调用。当时中间件以Java为主,懂非Java的人很少,我也只能硬着头皮上了。

还有我的子系统会进行拆分,我们的研发团队从测试运维变成的纵向团队,把运维的部分拆掉,拆到各个团队里面去,你这个团队又有产品经理,又有研发,又有运维,你的目标就是把公募基金交易系统做好,从横向变成纵向的时候你的数量会变多,你是交易团队,你这个是账户团队,你是资产清算团队,都有不同的团队。

再往上是应用层的运行容器,包括 Linux 和 Tomcat。

有的同学说了,我不知道什么叫切片,我后边有一张图。很简单,你不用来找我,你找我干嘛呢,你交易系统慢了,可以看一下账户系统的切片慢不慢。

三、所面对的技术场景和技术挑战有哪些?

怎么办?开始建中间件的架构,前台,先异常汇总—用户服务—基于短链路的监控与排障—小工具。

海量日志过来之后,怎么才能做到快速的收集、写入呢。

所以我把东西做成平台,想哪天发布就哪天发布,你想哪天上线就哪天上线,每个团队自己做。

关于部署和运维的挑战

广东快乐10分预测 18

从图上再向右看去,我们会看到实时计算平台 JStorm 和之前提到过的分布式日志系统 EagleEye、TLog 和所有服务器上都在部署的日志收集器。

这里的内容大家可以看一下,这个其实没有什么内容,无非就是里面的一些协议,时间、机器、IP、调用类型、节点类型、SDK、服务,这是做短链路的时候非常清楚,我100毫秒到底消费在哪里。

姬风:或许有很多人会感到困惑:「做架构师到底是技术还是业务?追求广度还是深度?应该去大公司还是小公司?」

我的内容就讲这么多,我基本从去年和前年开始,我自己经常会写一些技术的文章,三年的演变我不可能靠几分钟就去讲清楚,现在大概一周左右输出1-2篇原创,是我自己写的,里面有技术的故事,有技术的演化包括我在外面参加的活动,大家有兴趣的话,可以一起聊一聊。本文为好买财富平台架构总监王晔倞在 GOPS 2018 · 上海站的分享。

使用规模 – 中间件产品会被上千个业务方使用,推动整个业务的升级的过程比较漫长,设计时必须考虑到后续的可持续维护和未来的扩展机制,这都是很可贵的经验

同理,一样的,有的同学说了,灾备区什么意思?我们遇到问题的时候,保证所有的机房能够所有用户正常赎回就可以了,我是完全受损的一个服务,有的同学说了你为什么不做双活,要钱。

面对海量数据,要做实时分析,其实是有非常大的挑战的,比如:

刚才前面谈到了组织结构也变了,不能要求每个运维都有开放的架构,你也招不到,有人招到就厉害了,你能留得住他吗?你一共团队这么大,你给的空间是5个领导,3个总监,你往哪发展去?发展来发展去,上面的人一直站在上面,你也上不去,除非公司有更快的发展,大家知道这两年消费在退化,很多团队不需要特别强的人,包括很多公司做技术输出,你可以从那边用便宜的价格获得好的技术服务。

运维平台

广东快乐10分预测 19

一个亲身经历:

第二点,自主性更弱。中间件独立存在的价值就没有了,应用不用你,你是没有任何价值的。如果访问量很小,缓存干什么呢?我是不需要的,只要流量大了,微服务做的多了,信用负载大了。

8.领导力,能够团结力量然后为了同一个目标努力

举一个例子,我的托管区就是我自己的老机房,我自己的控制台没有什么问题,当我需要进行某一时间点扩容的时候,或者我因为某一些业务或者某一些活动要进行漂移,我把我的分片进行私有云的漂移,漂移到我私有云机房,说白了不叫漂移,就是重装一套。

我总结四个关键词,围绕它们去形成一个全面的知识体系就离架构师的路不远了。

广东快乐10分预测 20

再分享一个技术挑战:

广东快乐10分预测 21

康康:我们想深入问一下,在阿里中间件有哪些职业发展路线呢?

我们先来看一组数据,20个消息队列,15台虚拟机,8组缓存分片,2组数据库。你知道线上几千几百的节有点问题吗?你知道吗?你不知道。你哪知道有问题?你只知道报错了,你认为是好的,但是你的管理是有半径的,最多在显示屏上管4-5个节点,另外有没有问题,你不知道。

有一部分专精于技术领域。他们了解业界的同行并且能够对最新的技术趋势和走势进行预判,也会做产品的架构设计和解决方案设计。遇到困难的时候,这一类人会做技术公关充当救火队长的角色。

因为你的底层业务,每一个用户登录这个账户信息,包括交易过程当中需要账户当中的信息,交易要做很多认证,每个环节都要做认证,我不管是本地缓存,还是异地缓存都要响应,如果缓存有一定的抖动,你整个应用的长链路都要受到影响,最后就会崩溃,你的交易系统没有办法进行下去。所以说我们来解决这样的问题。

以前出了问题是阿里动手排查和使用调试工具、监控等等。但是现在客户场景里可能没有这样的工具,而我们也没有机会接触到客户的这些机器。而且有些客户环境比较复杂,甚至不会让我们登录。

广东快乐10分预测 22

还有一部分人做横向架构的事情。一般都会有跨团队、部门沟通,推进事情的能力,对技术落地的进度、风险有很强的把控力。

举一个例子,现在应用运维跑过来跟你说,下单超时了,你知道吗?你说我这边也很慢,这是第一反应。第二个说我不慢,我很快。

在向上,就是整个阿里巴巴应用的接入层了,包括 Tengine、LVS。

广东快乐10分预测 23

姬风:通常我们会使用一些社区上比较活跃、成熟度比较高的产品。这样我们就可以投入到社区里去做一些回馈。在选用了开源组件之后,我们内部也会有人去研究它的代码然后继续的维护下去

第一点,专业性更强。如果让你画一个图谱,很简单,我们不说更大的,我们从研发的视角。所有的东西都在架构里,架构是什么?就是逻辑。一堆的业务算法,就是这些东西,但是它的专业性不需要特别强,为什么?我有这些东西就可以了。因为大量的技术栈都被中间件所包含了,高可用,你也不可能招到一个运维所有的技术栈都懂。

技术体系不同,架构师面对的技术栈也不同,比如说我,我必须要对海量数据分析这块有更多的了解,比如哈希索引、bitmap索引、布隆过滤器、数据库索引、MapProduce 等等

最后看两张图,首先很多人第一次见到我说,你一点都不像搞技术的人。为什么不像呢?体型不像,发型也不像,我前天写了一篇文章,技术男为什么那么不爱干净或者穿着不受女孩子欢迎,在我们圈子内IT男总找IT女,这种情况多见,为什么?因为我比较喜欢运动,搞了这么多年,看上去蛮年轻的,其实蛮大了。

2.技术的广度

我想给大家陈述一些数据,首先我们2015年,当然2015年是牛市,2015-2018年我们公司在业务上进行了变化,先说动向,我们的接口从百级变成了千级,微服务、服务化,要做拆分,业务要发展,从单一的卖基金,到现在卖很多,我才关心什么基金,我就要知道什么业务要赚多少钱,只要安全就行了。在这样的业务变革下变出来很多组合,我的接口会有变化。第一个是变多了。

云产品服务

作者介绍:

Q&A

最后谈一下 AIOps 的展望,我认为的 AIOps 只是一个理念和方向,能提供什么?弹性的伸缩。我们现在做的更多是人工的。我们的弹性伸缩可以做到自动化,其实 AlOps 在研发演进里面没有什么困难,你只要能够抽象出规则,像扩容的这些动作很简单,只要满足了某些场景,做了某些事情,前提是一定要标准化。

同时架构的边界也要划分清楚,最好根据组织架构再进行划分,否则会出现三不管地带。而且如果划分不准确会导致资源浪费、重复开发或冲突问题。因此就像我说过的一样,不能为了架构而架构,具体还是要看人员和情况。

2.中间件运维有哪些痛点

这个图,从下往上看技术栈,就会一目了然了。这些都是在一次次双十一中久经考验的产品。

很多人说运动什么东西都很难,运维也是一样的,很多人说运维太过于枯燥,现在外面摇旗呐喊的说要干掉传统运维,虽然嘴巴没说,一嘴巴的男女道德,一肚子男盗女娼。搞IT的结什么婚啊?这是我们圈内经常互相调侃说的一些段子。

Q:能否谈一下 OSGI 这个技术的未来?是否是个不实用的技术?

我先做一下自我介绍,我名字最后一个词读lang,我是2000年踏入这个圈子的,非常倒霉,我刚踏入这个圈子遇到了网络经济泡沫,在座的有一些同学的年龄你应该也遇到过,有些也没有遇到过,不知道这是什么东西。我做了7-8年的开发,4-5年的架构,我做过很多东西,除了微软那条线技术栈没有做过以外,其他的我都做过。

自修:中间件的范围分为:

就说第一种,是你的代理慢?还是虚拟机慢,到底哪里慢?大部分情况是不知道的。会怎么办?打 Zabbix 去查了。我们作为一个交易系统是有交易时间的,你下单的时候在2点到3点30之间出现问题了,说3000块钱不要了,你肯吗?

自修:我们所有的 rocketMQ 目前都是支持 kafka 接口的

广东快乐10分预测 24

稳定

3.从‘人肉’到工具,我们是如何演进的?

我会看整个设计的架构、考虑思考的全面性、有没有考虑到风险点、上下游相关方要坐的事以及了不了解他们需要做的事情。我会考察候选人有没有在设计里为未来的需求预留铺垫。

有同学说,容器可以做的更好,对,容器我们目前只是尝试阶段,如果在座有同学对阿里比较了解的话,淘宝之前其实很多很多年以前就做了,但是他们一直到这两年蚂蚁金服才做了一部分,或者没有完全做完,做金融类所有的技术改造类的东西,中间所有的数据验证以及技术改变的成本和路径都慢半拍甚至一拍至两拍。所有的前台、中台,所有的过程所有的数据多少要对账的,你不对账是不能往上走的,但是中间件不需要。

康康:首先请自修老师,分享下阿里中间件架构师的胜任力模型

所以我给大家纠正一下,金融什么什么东西,肯定用的东西特别牛,安全性特别高,其实不是这样的。

性能

甚至太乏,难以坚持?

姬风:中间件主要还是以技术为主。

广东快乐10分预测 25

Q:这个中间件和阿里的中台是否是类似的?

有的同学说了,你们这个行业为什么这么怪?是这样的,金融行业跟钱有关的是强监管,所有的都是跟钱有关系的,我的交易系统不允许放到我的公共云上,只能放在自己的私有系统中间,为什么?没有技术上的任何问题,原因是什么,监管不允许,或者监管不明确。

我们现在所有的系统,在它没有出问题的时候其实我们就已经能预测问题在哪里了。我可以从异常检测和根源上分析整个链路的问题。比如你在淘宝上下了一个订单,背后有几千个系统在流转,通过消息、RPC、数据库等等,万一链路出现一点点问题,在11.11那天的高并发量的情况下,怎么找出根源问题?

但是,我跟大家讲的是,不是这样。因为大家都知道,很多金融类企业的老大,也就是他们的 CEO 和创始人,基本上都是做业务出身的,做业务出身的、做金融的首先第一点就是成本理念非常强。

成本

广东快乐10分预测 26

6.动手能力

人还是那些人,我们经常说偷偷摸摸做架构,为什么金融很多老板算成本怎么算的?我前面做5个接口要用5个人,很正常。什么是架构?不就是ABC吗?不就是两张代码吗?没听懂,我就给你5个人,怎么办?你的架构要去变。

姬风:目前不是特别流行。中间件曾经使用过 OSGI 做中间件的类隔离容器,不过 OSGI 的使用人群并不多,而且新人加入的时候学习成本也比较高,所以后来我们自己做了一个类隔离容器,OSGI 就不怎么使用了。不过未来Java也会自己推出一个新项目的,而它的新版本也已经具备了类似 OSGI 的功能了。

更多顶尖金融运维专家与您聊聊行业变革与转型

姬风:首先介绍下中间件背景。这个团队本身是淘宝的平台架构组,是随着阿里电商业务一起成长起来的团队。中间件一直支撑着世界上最大的电商交易业务场景,尤其是大家耳熟能详的双十一大促。

有的同学说了,你们现在做到哪里了?还在制定明年的规划,我们是腾讯系的,所以八九月份开始做明年的规划。主要的目的是跟CEO要钱,这是最终目的,这是核心目的。

Q:如何沉淀排查经验?什么样的形式?一般的流程是:特征->问题->解决方案,怎么获得特征?怎么判断问题?怎么触发解决方案?

广东快乐10分预测 27

这时的挑战就是怎么让这些客户一步步的掌握我们的技术架构并熟练的运用到他们的业务里面。其实这是对我们目前采用的这套分布架构的重新思考和总结。我们可以把以前自己认为很常见的一些常识性的东西转换为实际性的方法论然后教给我们的合作伙伴。

所以我觉得,就是因为这样的原因,所以我们的运维同学也好,研发同学,架构同学大家更应该提高,大家在一起共同解决问题。我们现在公司现在已经变成纯互联网化。

姬风:如果没有开发经验很有可能会对系统底层的知识不太了解以及对架构的经验可能会比较浅。我的建议是尽量具备一些开发的经历和深度的专长。

大家都要用到一些相关技术怎么办?我们有统一的架构团队来给你提供标准化的服务,好像大家看到的阿里云提供很多的技术服务,中间我们也会用到好多的SDK,适配,穿透等各种技术,为什么?因为你的技术栈不一样,接入形态也不一样。

另一方面是由于阿里业务的规模:

演进之后的情况是什么?大家看一下,我一个用户当很慢的时候看这个界面,这个界面在前台的闭环当中已经有了。

我们的挑战就是如何积累一些平时排查的经验把它变成一个自动化的工具,再通过我们的监控数据进行自动分析,实现系统级别的弹性的扩缩和调度。让它能够在问题发生的时候自动发现并重新恢复,再通知合作伙伴。

太枯燥,太乏味?

Q:消息中间件的可靠性达到了多少?

通过自己的MQ的切片、缓存的切片自己去查,不要问我,因为ABC消费B节点慢了,导致消费的速度慢了15.84,你自己去看,不要问我,我的MQ慢不慢,不是运维拼命把你拖慢,而是生产和消费不对等导致的,你自己去查。

康康:架构师对系统底层需要了解到什么程度?

广东快乐10分预测 28

Q:作为中间件运维从业者,想要进阶到架构师是否需要开发经验?

此外还有一些非技术的特质,比如:主动性、责任心、Ownership、沟通和推动

但我觉得这段经历很宝贵,尤其是把服务框架涉及到的技术点从头到尾都用C语言实现了一遍。这对技术的提升很高而且可以更好的贴近系统底层并且了解更多的细节。这也算是一种技术的累积。

康康:不少中高端技术人才层面临一个职业发展的困惑 – 技术路线和管理路线如何选择?是不是技术上要达到架构师的高度之后才能有资格跨入到技术管理人这样的管理角色?

系统规模 – 业务有很多部分的核心压力是在中间件系统上的,比如数据库、消息、缓存和存储,非常考验研发在稳定性和性能上的设计能力,同时也需要考虑服务端能同时支撑上万个客户端,可以给其上的服务提供高并发,可以水平扩容,而且服务是不能停机的

我觉得阿里中间件被称为架构师的摇篮的原因是:

之后我做了一段时间淘宝的运维系统。那段时间正好是和阿里的牛人一起合作。在运维系统可以获得许多一线经验并且学习到牛人的技巧,比如他们怎么思考、架构上面有哪些问题、他们为什么要采用这样的技术手段来解决这些问题。当时更像是一种观摩的状态。

刚开始是深入的积累,然后是跟牛人学习。这段时间里需要做很多的思考。最后会接触很多新的技术领域并深入拓展。在这里给大家提供一个学习交流的平台,java架构师群:561614305

1.需要对业务有本质的理解,技术再牛逼,解决不了业务的问题也是没用的。所以一定要站在业务的角度去了解他们的需求,它到底是要并发高还是流量高,还是要分布式,还是要高可用

有一部分人会做技术团队的 leader。对于一个团队的技术 leader 来说,技术水平是不能差的。而且需要承担团队发展方面的判断,这关乎团队的发展,和其他同学的未来。我们 leader 需要对业务发展趋势有一定的判断,提前做一定的技术储备,避免业务的发展受到技术的限制。

Q:能否谈一下阿里内部微服务架构的技术栈?对于类 dubbo 的 rpc 框架使用和 spring cloud 全家桶的对比?

康康:成为架构师的途径有哪些?

Q:Eagle eye 监控日记如何采样?存储如何压缩?如何权衡存储和计算成本?有什么优化手段?

姬风:其实这个还是要看情况的,比较人员的背后都对应一个组织关系。对于初创公司或者团队来说,可以在架构制定出来之后安排任务然后划分人员。而那些涉及跨部门协作的,需要考虑人的问题,因为系统需要人的投入和维护,需要有一个平衡,比如架构落实之后人员有没有能力承担、有没有时间完成等等。

整个左半部分,由中间件的这些技术,承接着所有的业务产品,包括淘宝、天猫、1688、AE、B2B以及圈子收购的子公司优酷、高德等等。我们将所有这些技术经验沉淀出了产品,并在云上形成服务。目前已经形成云产品的包括,EDAS、DRDS、MQ、TXC,以及面向监控的 ARMS 和时间分片的 SchedulerX,以及围绕这些服务的云产品中台。

还有一部分偏向业务方面。通常都会对业务发展有较强的判断力和商业敏感度。这类人群会站在用户的角度思考、用产品的思路将技术进行抽象和封装,让技术更容易被他人使用。他们会让技术产生商业价值,因此通常是一个产品经理的角色。

自修:这个可以从两个方面来回答。

往架构师方面发展需要培养判断能力和独立思考能力。你需要具备发展方向的判断、技术和业务能产生多少价值的判断、复杂度和可行度的判断、对人的能力的判断。而这些都是架构师需要考虑的方方面面。

我刚到阿里中间件的时候发现一个问题:各个服务之间都是需要手动配置和部署、需要运维人员专门负责的。为此我深入研究了其中的问题,然后写了一整套的引擎,把各个服务之间从下往上的串联起来、配置全都自动化。之后一个实习生写了一个很漂亮的web页面,把整个服务并行启动。之后新来的员工就可以一键就可以开启所有的服务。这里面就包括了挑战,如何自动化、如何快速、如何分布式、如何高可用等等。

稳定性相关平台

Q:在中间件团队中有 PM 的角色吗?还是 Architect 就承担了 PM 的工作?

姬风:我的建议是不要为了架构而架构。在这种技术架构不复杂的情况下,其实还有很多开源的产品、技术大会去看可以提升自己的架构能力,可以从中收获一些积累。也有可能业务架构比较复杂,这样就有一些机会在公司推动或验证比较完整的、从上到下从前到后的架构。这是大公司不能给到的麻雀虽小五脏俱全的机会。

存储平台

第三个技术挑战 - 海量数据实时写入

效率

我的建议是面试回答问题的时候答案不要太过圆滑和完美,如果你懂就直接回答,不需要绕过去。此外我们也会注意你平时会看哪些书、对未来的规划怎么样、团队中的协调能力、一些思考等方面。

中间件所有的服务加起来约有上百个。在上百个里面,举一个例子就是 Tengine/Nginx,熟悉的同学知道,Nginx 要配各种各样的域名、upstream 等。那么我们有一套工具可以快速的根据不同的机器负载、不同的机房设置形成快速的配置的修改、上下线等等。现在我们整个建站,包括底层的机房建设、IDC、网络、上层的中间件、应用层,在大促的前一天基本上可以在 10 个小时内完成。

计算平台

4.经验丰富。其实经验丰富并不是由时间决定的,而是根据平时的学习、探索等方方面面组成的,这也就是为什么有些人会问"我的工作时间比别人长但是找不到工作"

姬风:因为监控平时可以收到很多系统信息,而业务都是带有季节性的,所以信息都是带有季节性特征的。这样就可以抽取出一个模型,甚至提炼出公式。根据公式的分析我们可以做一些数据预测。当我们发现预测的数据和实际上发生的模式不一致时,就可以判断出来这个时候会发生问题。我们将根据排查出来的问题归类,然后反推它会产生什么样的特征,最后通过特征可以推倒到解决方案。

本文由广东快乐10分预测发布于广东快乐10分预测,转载请注明出处:阿里中间件需要怎样的架构师?广东快乐10分预测

关键词: 之路 场景 中间件 首页投稿