加入收藏 | 设为首页 | 会员中心 | 我要投稿 漯河站长网 (https://www.0395zz.cn/)- 云服务器、混合云存储、网络、内容创作、云渲染!
当前位置: 首页 > 站长资讯 > 评论 > 正文

程序员开发利器?

发布时间:2021-02-19 13:02:47 所属栏目:评论 来源:互联网
导读:1.2.1 多分支并行开发问题 当多分支并行开发或者能够发版到生产环境的分支较多时,很容易在手动部署的阶段点错,或者看串行,当然这种概率很

1.2.1 多分支并行开发问题

当多分支并行开发或者能够发版到生产环境的分支较多时,很容易在手动部署的阶段点错,或者看串行,当然这种概率很小。

但是我们可以看到另外一个问题,每次提交或者合并,都会触发构建,当我们使用Git Flow分支流时,可能同时有很多分支都在并行开发、并行测试、并行构建,如果Git Runner是基于虚机创建的,很有可能会出现构建排队的情况,当然这个排队的问题,也是能解决的。

1.2.2 多微服务配置维护问题

其次,如果一个项目稍微大一些,维护起来也不是很方便。比如这个准备要迁移的项目,一个前端和二十多个业务应用,再加上Zuul、ConfigServer、Eureka将近三十个服务,每个服务对应一个Git仓库,然后每个服务同时在开发的分支又有很多,如果想要升级GitLab CI脚本或者微服务的机器想要添加节点,这将是一个枯燥乏味的工作。

1.2.3 安全问题

最后,还有一个安全的问题,GitLab的CI脚本一般都是内置在代码仓库里面的,这就意味着任何有Push或者Merge权限的人都可以随意的修改CI脚本,这会导致意想不到的结果,同时也会威胁到服务器和业务安全,针对发版而言,可能任何的开发者都可以点击发版按钮,这些可能一直都是一个安全隐患。

但是这些并不意味着Git Runner是一个不被推荐的工具,新版的GitLab内置的Auto DevOps和集成Kubernetes依旧很香。但是可能对于我们而言,使用Git Runner进行发版的项目并不多,所以我们想要统一发版工具、统一管理CI脚本,所以可能其它的CI工具更为合适。

1.3 为什么要容器化?

1.3.1 端口冲突问题

容器化之前这个项目采用虚机部署的,每个虚拟机交叉的启动了两个或者三个微服务,这会遇到一个问题,就是端口冲突的问题,在项目加入新应用时,需要考虑服务器之间端口冲突问题的,还要考虑每个微服务的端口不能一样,因为使用虚拟机部署应用时,可能会有机器节点故障需要手动迁移应用的情况,如果部分微服务端口一样,迁移的过程可能会受阻。

另外,当一个项目只有几个应用时,端口维护起来可能没有什么问题,像本项目,涉及三十多个微服务,这就会成为一件很痛苦的事情。而使用容器部署时,每个容器相互隔离,所有应用可以采用同样的端口,就无需再去关心端口的问题。

1.3.2 程序健康问题

使用过Java程序的人大部分都遇到过程序假死的情况,比如端口明明是通的,但是请求就是不处理,这就是一种程序假死的现象。而我们在使用虚机部署时,往往不能把健康检查做的很好,或许在虚机上面并没有做接口级的健康检查,这就会造成程序假死无法自动处理的问题,并且在虚机上面做一些接口级的健康检查及处理操作并不是一件简单的事情,同样也是一件枯燥乏味的事情,尤其是当一个项目微服务过多,健康检查接口不一致时更为痛苦。

但在k8s上面,自带的Read和Live探针用以处理上面的问题就极其简单,如图所示,我们可以看到目前支持三种方式的健康检查:


 

力确实在提高。一项OpenAI研究表明,自2012年以来,每16个月将AI模型训练到ImageNet图像分类中相同性能所需的计算量就减少了2倍。Google的Transformer架构超越了以前的状态seq2seq也是由Google开发的模型,在seq2seq推出三年后,计算量减少了61倍。

DeepMind的AlphaZero这个系统从零开始教自己如何掌握国际象棋,将棋和围棋的游戏,而在一年后,与该系统的前身AlphaGoZero的改进版本相匹配,其计算量就减少了八倍。

用于深度学习模型的计算能力的爆炸式增长已经结束了「人工智能冬天」,并为各种任务的计算机性能树立了新的基准。

但是,深度学习对计算能力的巨大需求限制了它可以以目前的形式提高性能的程度,特别是在硬件性能的提高放缓的时代。这些计算限制的可能影响迫使……机器学习转向比深度学习更高效的技术。



 

(编辑:漯河站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读