>  기사  >  백엔드 개발  >  ByteDance는 Go 언어를 사용해야 합니까?

ByteDance는 Go 언어를 사용해야 합니까?

青灯夜游
青灯夜游원래의
2023-01-04 10:44:515220검색

ByteDance에는 Go 언어가 필요합니다. ByteDance는 Go 언어를 완전히 수용했으며 회사 내에는 Golang을 사용하여 작성된 수만 개의 마이크로서비스가 있습니다. 그 이유는 ByteDance가 효율성에 더 많은 관심을 기울이는 반면 Go 언어는 시작하기 쉽고 학습 난이도가 낮고 개발 효율성이 높으며 성능이 더 뛰어나며 Goroutine과 Channel의 두 가지 아티팩트가 문제를 매우 잘 해결할 수 있기 때문입니다. 동시 및 비동기 프로그래밍.

ByteDance는 Go 언어를 사용해야 합니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.

클라우드 컴퓨팅 시대가 도래하면서 Go는 점점 더 널리 사용되고 선호되는 프로그래밍 언어가 되었습니다. 게다가 급여도 오르고 있습니다.

Go 언어는 구문이 간단하고 성능이 뛰어난 특성을 가지고 있기 때문에 Google, Tencent, Byte 등 국내외 주요 기업에서 사용하고 있습니다. 특히 Byte는 Go를 처음에는 완전히 수용했기 때문입니다. 성능 문제로 인해 Python으로 대체되었으며 Go는 배우기 쉽고 성능이 높으며 배포가 쉽습니다. 일반적으로 Go 언어의 특징은 다음과 같습니다.

  • 간단한 구문, 평평한 학습 곡선

  • 고성능, 높은 동시성

  • 풍부한 표준 라이브러리

  • 완벽한 도구 체인

  • 정적 link

  • 빠른 컴파일

  • Cross-platform

  • Garbage collection

간단한 예

단 두 줄의 코드로 웹 서비스를 시작할 수 있습니다

package main

import (
 "net/http"
)

func main() {
 http.Handle("/", http.FileServer(http.Dir(".")))
 http.ListenAndServe("localhost:8080", nil)
}

ByteDance는 Go 언어를 사용해야 합니까?

Go 언어를 사용하는 회사

Go 언어를 사용하는 회사는 어디이며, 주로 어떤 상황에서 사용되나요?

ByteDance는 Go 언어를 사용해야 합니까?

  • ByteDance는 go 언어를 완전히 수용했습니다. 회사 내에는 golang을 사용하여 작성된 수만 개의 마이크로서비스가 있으며 얼마 전까지만 해도 GO RPC 프레임워크 KiteX도 오픈 소스였습니다.

    ByteDance는 효율성에 더 많은 관심을 기울이고 시작하기 쉬우며 학습 난이도가 낮습니다. 또한 Goroutine과 Channel의 두 가지 아티팩트는 동시 및 비동기 프로그래밍 문제를 매우 잘 해결할 수 있습니다. Go 언어는 차세대 프로그래밍 언어라고 할 수 있습니다.

  • Lagou의 채용 데이터에 따르면 Tencent, Baidu, Meituan, Didi, Sangfor, Ping An, OPPO, Zhihu, Qunar, 360, Kingsoft, Weibo, Bilibili, Qiniu, PingCAP 다른 회사에서도 Daxing에서 Go 언어를 사용하고 있습니다. . 구글, 페이스북 등 외국 기업들도 바둑 언어를 광범위하게 사용하고 있다.

  • 비즈니스 관점에서 볼 때 언어는 클라우드 컴퓨팅, 마이크로서비스, 빅데이터, 블록체인, 사물 인터넷 및 기타 분야에서 호황을 누리고 있습니다. 그리고 클라우드 컴퓨팅, 마이크로서비스 및 기타 분야에서 Docker, Kubernetes, Istio, etcd 및 prometheus는 이미 거의 모든 클라우드 기반 구성 요소가 Go로 구현되어 있어 매우 높은 시장 점유율을 차지하고 있습니다.

ByteDance가 GO 언어를 완벽하게 수용하는 이유

  • 초기 Python은 성능 문제로 인해 Go로 대체되었습니다.

  • C++는 온라인 웹 비즈니스에 적합하지 않습니다

  • 초기 팀 Java 배경

  • 좋은 성능

  • 간단한 배포 및 낮은 학습 비용

  • 내부 RPC 및 HTTP 프레임워크 홍보

우리는 ByteDance가 처음에는 go 언어를 완전히 수용했다는 것을 알고 있습니다. 회사 백엔드 업무는 주로 웹 백엔드를 담당하고 있습니다. 초기 팀은 Java 관련 지식이 없었고, C++는 온라인 웹 업무에 적합하지 않았기 때문에 2014년쯤부터 처음 서비스를 시작하면서부터였습니다. 비즈니스 규모가 증가하고 Python에서 일부 성능 문제가 발생했습니다.

일부 팀에서는 처음에 Go를 사용해 보았는데 시작하기 쉽고 개발 효율성이 높으며 성능도 비교적 좋은 것으로 나타났습니다. Go 언어의 개발 및 배포는 매우 간단하며, 이전 Python에서 발생했던 종속성 라이브러리 버전 문제의 골치 아픈 문제도 해결합니다. 일부 기업에서는 이점을 맛본 후 이를 회사 차원에서 적극적으로 홍보하기 시작했으며 회사 내부 golang 기반 rpc 및 http 프레임워크가 탄생했습니다.

프레임워크의 홍보로 점점 더 많은 Python 서비스가 golang을 사용하여 다시 작성되었습니다. 지금까지 golang은 내부 사용률이 가장 높은 프로그래밍 언어가 되었습니다.

【관련 추천:

Go 비디오 튜토리얼

, 프로그래밍 교육

위 내용은 ByteDance는 Go 언어를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.