gydtep 发表于 2021-1-5 09:19:08
Strace是Linux的用户空间实用程序,可用于诊断、调试和获取有关输入和输出功能的指令。但是,由于复杂的应用可以具有多个输入/输出功能,因此这对人类来说可能是一个挑战。gydtep 发表于 2021-1-5 10:56:54
如果采用了微服务架构,应用将由多个服务组成,那么还需要考虑服务管理。以上全部考虑到之后,将其转化为系统设计,最后进行开发调试以及单元测试,完成了这些之后才可以将应用交给测试环节。gydtep 发表于 2021-1-5 14:38:27
因此,从这个角度来看,Serverless 也不是一个非常新的概念,最早的 OSS 对象存储就是一个 Serverless 产品,可以看出云产品体系正在 Serverless 化,只不过最近几年出现了函数计算这样通用的 Serverless 计算平台,进而能够将 Serverless 体系产品连接起来,构建一个 Serverless 应用。gydtep 发表于 2021-1-5 16:52:38
阿里云云效代码智能语法服务的底层技术是LSIF(Language Server Index Format),它是一种持久化语言的索引的图存储格式,通过图的格式,表示了“代码文档”-> “语法智能结果”之间的事件关系。gydtep 发表于 2021-1-5 19:51:12
不同代码库不同语言的索引数据很难在一张图中结构化,参考了社区的相关实践,考虑到成本和性能,因为ES天然地适合大规模的数据存储和索引,我们最后选择了用ES(Elasticsearch)做结构化数据存储。gydtep 发表于 2021-1-6 09:51:41
幸运的是,针对这些普遍存在的难题,业界涌现了一系列优秀的开源技术组件和工具,让开发者可以更轻松的构建微服务应用。gydtep 发表于 2021-1-6 13:52:35
随着应用、团队、业务功能点数量的增加,所需要的开发测试环境数量还会成倍的增长,造成巨大的资源浪费。对于测试环境的计算资源而言,资源利用率要远低于生产环境。有的时候仅仅是一个简单功能点的验证,为了端对端的跑通业务功能,又避免团队之间的相互影响,就会开启一套包括全部微服务应用的新环境。这样的资源浪费,对于很多企业,都是一个多年都未曾得到解决的难题。gydtep 发表于 2021-1-6 15:53:10
SAE 实现了 Serverless 架构 + 微服务架构的完美融合,对于 Spring Cloud 和 Dubbo 等主流的微服务架构,可以实现无缝兼容,基本上没有改造成本,并真正按需使用、按量计费,节省闲置计算资源,同时免去 IaaS 层运维方面的工作,有效提升开发运维效率。gydtep 发表于 2021-1-7 07:42:30
代码文本不是简单的二维平面结构,看懂一段代码需要反复地通过定义与引用的跳转,才能将代码深层次的逻辑和片段影响范围理解透彻。gydtep 发表于 2021-1-7 10:07:22
生成lsif.json文件后,由于这个Json文件较大,直接由前端加载并响应请求不太合理,后期增量生成与维护难度也很大,所以我们还需要一步:将lsif.json转化为结构化数据,从而按需响应用户查询请求。