站长蚂蚁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: 活动 交友 discuz
楼主: gydtep2002
打印 上一主题 下一主题

腾讯云2860元代金券领取及使用说明

[复制链接]

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
141#
 楼主| 发表于 2022-12-30 14:00:38 | 只看该作者
下图展示了应用交付的流程,代码通过统一管理的代码库存储和管理起来,再通过持续集成将其变成一个交付物,再将其存储到交付物仓库里面。交付物可以是容器镜像,也可以是代码包的模式。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
142#
 楼主| 发表于 2022-12-30 18:48:12 | 只看该作者
”代码文本扁平式地漫浪诵读只能达到眼到、口到的境界,如果你是一个认真负责的代码评审者,阿里云云效代码智能语法服务一定是帮助你充分理解代码变更,超越眼口,到达“心到”境界的功能。心既到矣,眼口岂不到乎?
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
143#
 楼主| 发表于 2022-12-31 11:59:22 | 只看该作者
阿里云云效代码智能语法服务的底层技术是LSIF(Language Server Index Format),它是一种持久化语言的索引的图存储格式,通过图的格式,表示了“代码文档”-> “语法智能结果”之间的事件关系。

在LSIF之前,LSP(Language Server Protocol)定义了编码语言与各类终端代码编辑器之前的交互协议。原先开发者需要为每一款编辑器都定义适配一种语法分析服务应用,那么M个语言要在M个代码编辑器中使用的话需要MxN个应用。而有了LSP的出现,开发者在解析代码语法时只需要遵循LSP协议格式,实现代码补全、定义展示、代码诊断等接口,就只需要开发M+N个应用。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
144#
 楼主| 发表于 2022-12-31 19:09:32 | 只看该作者
用户对代码的浏览场景主要集中在代码评审和主干分支的代码浏览,所以我们目前主要支持两种场景的语法服务。语法服务接收来自代码平台的事件消息,如代码推送事件,评审的创建、更新、合并、关闭、重新开启事件,来触发语法服务构建。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
145#
 楼主| 发表于 2023-1-1 14:29:38 | 只看该作者
生成lsif.json文件后,由于这个Json文件较大,直接由前端加载并响应请求不太合理,后期增量生成与维护难度也很大,所以我们还需要一步:将lsif.json转化为结构化数据,从而按需响应用户查询请求。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
146#
 楼主| 发表于 2023-1-2 14:58:54 | 只看该作者
当同一代码库的不同推动消息纷涌而至,Redis维护的分布式锁会做如下判断:若该库当前没有正在运行的任务,将任务置于队首,立即运行;若已有一个正在执行的任务,比较新来的Push消息是否是最新的,若是,则加入队尾;当队伍已有两个成员时,则将任务丢弃,因为每次执行任务时,系统都会克隆分支代码,基于最新的版本构建索引,如此就避免了多少次Push就需要执行多少次索引构建的可能性。考虑到线程意外退出的情况,队首会每隔5秒钟全局发送心跳,当队尾或新来的任务禁用词语到心跳超时,则会将队首的任务放弃并执行新的任务。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
147#
 楼主| 发表于 2023-1-3 12:46:58 | 只看该作者
这背后带来的问题是什么?我们原来产生用共建的方式支撑了50多个BU的会员、商品、交易、营销、资金、支付、库存逆向等等业务,其实每个里面都是遍地开花的if else。然后代码的合并也难,开发也难,测试也难,上线也难,整个过程都很痛苦。所以我们当时在2015年开始一直在做星环的架构,就是让这些东西不那么痛苦,慢慢的解决这个问题。当然了现在我们又用了新的痛苦点。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
148#
 楼主| 发表于 2023-1-3 19:06:57 | 只看该作者
第三点是解决复杂问题。好的架构师都在解决复杂的问题。只有复杂的问题,它才需要更多不一样的技术或更新的技术彻底解决。高并发高可用是我们阿里电商面临的基本面问题,但是架构师要有不一样的高并发和高稳定性的解决思路。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
149#
 楼主| 发表于 2023-1-4 13:58:20 | 只看该作者
架构师看问题的眼光和别人不一样,不要只看见这一个问题,还要看见这个问题背后是什么,这一类问题背后是什么,我怎么能用抽象的方法解决一类问题。想好了以后,我就把当前的这个问题先解决掉,其他的问题用抽象的方式去解决它。
回复

使用道具 举报

4

主题

1428

帖子

5737

积分

成年蚂蚁

Rank: 8Rank: 8

积分
5737
150#
 楼主| 发表于 2023-1-4 18:01:00 | 只看该作者
第一点就是沟通能力非常关键。你怎么把这个问题说清楚,切中问题的点,同时也能帮助上下游带来实际的效果。第二点是架构需要能救火,但不仅仅是救眼前的火,应该救未来的火,架构师救火能力要很强。

我来阿里之前在做一个CRM的系统。刚开始前几年一直在做CRM系统的业务,后来我要解决很多业务的问题,要把它抽象出来,去做业务问题下面基础的平台。再后来发现基础平台的要解决更彻底,还要做下面的中间件。来阿里之前我做过业务,做过业务的开发平台,也做过开发平台下面的中间件。
回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|站长蚂蚁-站长之家 ( 赣ICP备15000807号

GMT+8, 2024-5-10 16:29

Powered by 蚂蚁站长论坛

© 2007-2024 bbs.jzmayi.com

快速回复 返回顶部 返回列表