Tổng quan

Go giúp doanh nghiệp xây dựng và mở rộng hệ thống điện toán đám mây

Khi ứng dụng và quá trình xử lý chuyển lên đám mây, tính đồng thời trở thành vấn đề rất lớn. Các hệ thống điện toán đám mây, về bản chất, chia sẻ và mở rộng tài nguyên. Việc điều phối truy cập vào tài nguyên dùng chung ảnh hưởng đến mọi ứng dụng xử lý trên đám mây, và đòi hỏi các ngôn ngữ lập trình "được thiết kế đặc biệt để phát triển ứng dụng đồng thời độ tin cậy cao."

Go makes it very easy to scale as a company. This is very important because, as our engineering team grows, each service can be managed by a different unit.

Lợi ích chính

Cân bằng giữa tốc độ phát triển và hiệu năng máy chủ

Go được tạo ra để giải quyết chính xác những nhu cầu đồng thời này cho ứng dụng có quy mô lớn, microservice và phát triển đám mây. Thực tế, hơn 75% dự án trong Cloud Native Computing Foundation được viết bằng Go.

Go giúp giảm sự đánh đổi này nhờ thời gian build nhanh hỗ trợ phát triển lặp lại, giảm thiểu bộ nhớ và mức sử dụng CPU. Các server xây dựng bằng Go có thời gian khởi động tức thì và chi phí vận hành thấp hơn trong môi trường trả theo lưu lượng và serverless.

Giải quyết thách thức với đám mây hiện đại, cung cấp API chuẩn idiomatic

Go giải quyết nhiều thách thức mà lập trình viên gặp phải với đám mây hiện đại: cung cấp API chuẩn idiomatic và tính đồng thời tích hợp để tận dụng bộ xử lý đa nhân. Độ trễ thấp và không cần điều chỉnh thông số của Go là điểm cân bằng tuyệt vời giữa hiệu năng và năng suất, trao cho đội kỹ thuật quyền lựa chọn và quyền di chuyển.

Trường hợp sử dụng

Dùng Go cho điện toán đám mây

Điểm mạnh của Go nổi bật nhất khi xây dựng dịch vụ. Tốc độ và hỗ trợ đồng thời tích hợp mang lại dịch vụ nhanh và hiệu quả, trong khi kiểu tĩnh, công cụ mạnh mẽ và sự nhấn mạnh vào sự đơn giản và dễ đọc giúp xây dựng code đáng tin cậy và dễ bảo trì.

Go có hệ sinh thái mạnh mẽ hỗ trợ phát triển dịch vụ. Thư viện chuẩn bao gồm các package cho nhu cầu phổ biến như HTTP server và client, phân tích JSON/XML, cơ sở dữ liệu SQL, và nhiều chức năng bảo mật/mã hóa, trong khi runtime Go bao gồm các công cụ phát hiện race, benchmarking/profiling, sinh code và phân tích code tĩnh.

Các nhà cung cấp đám mây lớn (GCP, AWS, Azure) đều có API Go cho dịch vụ của họ, và các thư viện mã nguồn mở phổ biến hỗ trợ công cụ API (Swagger), truyền tải (protocol buffers, gRPC), giám sát (OpenCensus), Object-Relational Mapping (gORM), và xác thực (JWT). Cộng đồng mã nguồn mở cũng cung cấp nhiều framework dịch vụ, bao gồm Go Kit, Go MicroGizmo, có thể là điểm khởi đầu tuyệt vời.

Công cụ Go cho điện toán đám mây

Docker Docker

Docker là nền tảng-dịch-vụ phân phối phần mềm trong container. Container đóng gói phần mềm, thư viện và file cấu hình, được Docker Engine lưu trữ và chạy bởi một kernel hệ điều hành duy nhất (sử dụng ít tài nguyên hệ thống hơn máy ảo).

Lập trình viên đám mây dùng Docker để quản lý code Go và hỗ trợ nhiều nền tảng, vì Docker hỗ trợ quy trình phát triển và triển khai.

Kubernetes Kubernetes

Kubernetes là hệ thống điều phối container mã nguồn mở, viết bằng Go, để tự động hóa triển khai ứng dụng web. Ứng dụng web thường được đóng gói trong container với các dependency và cấu hình. Kubernetes giúp triển khai và quản lý các container đó ở quy mô lớn. Lập trình viên đám mây dùng Kubernetes để build, phân phối và mở rộng ứng dụng containerized nhanh chóng, quản lý sự phức tạp ngày càng tăng thông qua các API kiểm soát cách container chạy.

Khách hàng Giới thiệu ngắn Dự án sử dụng Go
Google Google Google Google Cloud uses Go across its ecosystem of products and tools, including Kubernetes, gVisor, Knative, Istio, and Anthos. Go is fully supported on Google Cloud across all APIs and runtimes.
Capital One Capital One Capital One Capital One uses Go to power the Credit Offers API, a critical service. The engineering team is also building their serverless architecture with Go, citing Go's speed and simplicity, and mentioning that "[they] didn't want to go serverless without Go."
Dropbox Dropbox Dropbox Dropbox was built on Python, but in 2013 decided to migrate their performance-critical backends to Go. Today, most of the company's infrastructure is written in Go.

Bắt đầu

Sách Go dành cho điện toán đám mây

  • Echo

    Web framework Go hiệu năng cao, mở rộng được và tối giản

  • Flamingo

    Framework mã nguồn mở nhanh dựa trên Go với kiến trúc sạch và có thể mở rộng

  • Gin

    Web framework viết bằng Go, với API kiểu martini

  • Gorilla

    Bộ công cụ web cho ngôn ngữ lập trình Go

Xem thêm
  • net/http

    Package HTTP thư viện chuẩn

  • julienschmidt/httprouter

    HTTP request router nhẹ hiệu năng cao

  • gorilla/mux

    HTTP router mạnh mẽ và URL matcher để xây dựng Go web server

  • Chi

    Router nhẹ, idiomatic và có thể kết hợp để xây dựng dịch vụ HTTP Go

Xem thêm
Xem thêm
  • database/sql

    Giao diện thư viện chuẩn với hỗ trợ driver cho MySQL, Postgres, Oracle, MS SQL, BigQuery và hầu hết cơ sở dữ liệu SQL

  • mongo-driver/mongo

    Driver Go chính thức cho MongoDB

  • elastic/go-elasticsearch

    Elasticsearch client cho Go

  • GORM

    Thư viện ORM cho Go

  • Bleve

    Tìm kiếm toàn văn bản và lập chỉ mục cho Go

  • CockroachDB

    Cơ sở dữ liệu thế hệ mới, được thiết kế cho đám mây để cung cấp SQL phân tán có khả năng phục hồi, nhất quán ở quy mô lớn

Xem thêm
Xem thêm
  • gopherjs

    Trình biên dịch từ Go sang JavaScript cho phép lập trình viên viết code frontend bằng Go để chạy trên tất cả các trình duyệt.

Xem thêm