计算机处理器的时钟速度卡在3-4GHz之间。 但是开发人员现在正在通过更好的编程来消除这个硬件限制。
凭借其神奇的属性组合,来自谷歌稳定器的编程语言Go或Golang(域名golang.org)成为程序员寻求克服这一硬件障碍的巨大武器。 围棋是一种多范式语言,它从不同的编程语言流派(面向对象、功能和解释)中大量借用了功能。 “Golang在语法上是Python、Java脚本和语言中的各种概念的最佳组合。 综合增强使Go表达、简洁和干净,使开发人员的生活变得轻松,“RahulEkbote,首席建筑师说。 与其他编程语言不同的是被称为Goroutines。 线程执行一个最小的程序指令序列。它运行在内核内,这是一个程序,在计算机操作系统(OS)的核心,促进硬件和软件组件之间的交互。 通常,硬件(处理器速度)限制会阻碍同时运行多个线程,这是应用程序可伸缩性和并发的关键。 大猩猩是解决这个问题的方法。 在OS内核中运行单个线程所需的空间实际上可以容纳一千个Goroutines,从而确保并发(其中几个计算在重叠的时间段内同时执行)。 “并发是至关重要的,因为数百万的请求是由用户从前端到后端提出的。 goroutines也不会等待一个线程完成一个函数,就像Java线程一样。 他们只会转到下一个处理单元,“Publicis Sapient的高级助理VivekDesai说。虽然在精神上是一种系统编程语言(Go被用来编写整个容器管理和编排技术Docker和Kubernetes),但Go在编写微服务方面也是一个很好的选择。 信道特性,在不同的Goroutine之间通过单独的管道进行数据传输,使得Go成为在微服务体系结构中构建应用程序的最受欢迎的选择。 德赛说:“Golang通道和线程有助于连接两个子应用程序,例如购物车与支付。 优步已经建立了其成功的最高查询每秒(Q PS)微服务使用Go。 “在我们仅为非业务服务的主要数据中心,这项服务处理了170kQPS的峰值负载,40台机器在NYE(新年前夕)2015年以35%CPU使用率运行。 这项服务自成立以来已有99.99%的更新时间,“博客说。 德赛说,初学者可以直接在围棋中学习代码,他早在2013年就学会了,并迅速找到了一份带有支付网关的工作。 “围棋效率高,使用方便,具有先进的联网性能。 这是一种很棒的语言,即使你已经学习了一两种其他语言,如Python或Java,“Edtech平台CodingNinjas的联合创始人AnkushSingla说。