Skip to content

Commit 8b9eb26

Browse files
authored
chore: use Go to replace Golang (#1453)
1 parent 3c8bed9 commit 8b9eb26

File tree

6 files changed

+13
-13
lines changed

6 files changed

+13
-13
lines changed

content/en/blog/news/Introducing CloudWeGo/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ author: <a href="https://github.com/vinijaiswal" target="_blank">Vini Jaiswal</a
2323

2424
## CloudWeGo Background
2525

26-
ByteDance uses Golang as its main development language, and supports the reliable communication of tens of thousands of Golang microservices. With our experience in microservices having undergone a massive traffic, we decided to offer open source software in order to enrich the community’s ecology and launched CloudWeGo in September 2021. CloudWeGo is not only an external open source project, but also a real ultra-large-scale enterprise-level project. We are looking forward to enriching the Golang product system of the cloud native community through CloudWeGo and helping other companies to build cloud-native architectures in a rapid and convenient way. We also hope to attract developers in the open source community, to maintain and improve this project together, provide support for multiple scenarios, and enrich product capabilities. Because the projects under CloudWeGo depend on many internal basic tool libraries, we also open sourced the basic Golang tool libraries used internally, and maintain them in [bytedance/gopkg](https://github.com/bytedance/gopkg).
26+
ByteDance uses Go as its main development language, and supports the reliable communication of tens of thousands of Go microservices. With our experience in microservices having undergone a massive traffic, we decided to offer open source software in order to enrich the community’s ecology and launched CloudWeGo in September 2021. CloudWeGo is not only an external open source project, but also a real ultra-large-scale enterprise-level project. We are looking forward to enriching the Go product system of the cloud native community through CloudWeGo and helping other companies to build cloud-native architectures in a rapid and convenient way. We also hope to attract developers in the open source community, to maintain and improve this project together, provide support for multiple scenarios, and enrich product capabilities. Because the projects under CloudWeGo depend on many internal basic tool libraries, we also open sourced the basic Go tool libraries used internally, and maintain them in [bytedance/gopkg](https://github.com/bytedance/gopkg).
2727

2828
Another language that we are committed to advancing is the Rust language that delivers exceptional performance, safety, and low-level control capabilities. Through our open-source projects and contributions, ByteDance aims to provide developers, enterprises, and Rustaceans with robust support in developing RPC microservices and building cloud-native distributed systems. ByteDance's contribution includes the development of Volo, a lightweight, high-performance, scalable, and user-friendly Rust RPC framework. Leveraging the latest features of Rust, Volo showcases exceptional performance and efficiency. ByteDance has extensively used Volo within its own infrastructure, implementing multiple business and foundational components, surpassing expectations and highlighting its superiority compared to similar solutions written in other languages.
2929

content/en/docs/kitex/Tutorials/advanced-feature/codec_frugal.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ type Request struct {
3737

3838
Note:
3939

40-
1. Frugal relies on these tags. For example, set and list are both mapped to slice in golang, which can only be distinguished by frugal tag;
40+
1. Frugal relies on these tags. For example, set and list are both mapped to slice in Go, which can only be distinguished by frugal tag;
4141
2. Without frugal tags, kitex will automatically fallback to the default Go codec (provided not using slim template);
4242
3. If you don't want to generate frugal tags, use `-thrift frugal_tag=false`.
4343

@@ -228,7 +228,7 @@ func frugalClient() {
228228

229229
In some scenarios (such as recording traffic), there's a need to call frugal directly (without Kitex clients/servers).
230230

231-
#### Golang Struct
231+
#### Go Struct
232232

233233
Frugal's JIT compiler relies on Go structs with proper frugal tags.
234234

@@ -374,7 +374,7 @@ Run kitex with `-thrift frugal_tag=false`.
374374
Note:
375375

376376
1. If frugal tags are not generated, you can not use frugal codec
377-
1. In Golang, Thrift's set and list are both mapped to slice, and can only be distinguished by frugal tags.
377+
1. In Go, Thrift's set and list are both mapped to slice, and can only be distinguished by frugal tags.
378378
2. If Kitex detects that the request/response type does not contain a tag, it will NOT use frugal, and fallback to the standard Go codec.
379379
2. If slim template is used, frugal tags must be generated.
380380

content/zh/blog/news/Go_HTTP_Hertz_Design/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ author: <a href="https://github.com/CloudWeGo" target="_blank">CloudWeGo</a>
1515
如:函数计算平台 FaaS、压测平台、各类网关、Service Mesh 控制面等,均收到不错的使用反馈。在如此大规模的场景下,[Hertz][Hertz] 拥有极强的稳定性和性能,在内部实践中某些典型服务,
1616
如框架占比较高的服务、网关等服务,迁移 [Hertz][Hertz] 后相比 Gin 框架,资源使用显著减少,CPU 使用率随流量大小降低 30%—60%,时延也有明显降低。
1717

18-
[Hertz][Hertz] 坚持 **内外维护一套代码** ,为开源使用提供了强有力的保障。通过开源, [Hertz][Hertz] 也将丰富云原生的 Golang 中间件体系,完善 CloudWeGo 生态矩阵,
18+
[Hertz][Hertz] 坚持 **内外维护一套代码** ,为开源使用提供了强有力的保障。通过开源, [Hertz][Hertz] 也将丰富云原生的 Go 中间件体系,完善 CloudWeGo 生态矩阵,
1919
为更多开发者和企业搭建云原生化的大规模分布式系统,提供一种现代的、资源高效的的技术方案。
2020

2121
本文将重点关注 [Hertz][Hertz]**架构设计****功能特性**
2222

2323
## 02 项目缘起
2424

2525
最初,字节跳动内部的 HTTP 框架是对 Gin 框架的封装,具备不错的易用性、生态完善等优点。随着内部业务的不断发展,高性能、多场景的需求日渐强烈。
26-
而 Gin 是对 Golang 原生 net/http 进行的二次开发,在按需扩展和性能优化上受到很大局限。因此,为了满足业务需求,更好的服务各大业务线,
26+
而 Gin 是对 Go 原生 net/http 进行的二次开发,在按需扩展和性能优化上受到很大局限。因此,为了满足业务需求,更好的服务各大业务线,
2727
2020 年初,字节跳动服务框架团队经过内部使用场景和外部主流开源 HTTP 框架 Fasthttp、Gin、Echo 的调研后,开始基于自研网络库 [Netpoll][Netpoll] 开发内部框架 [Hertz][Hertz]
2828
[Hertz][Hertz] 在面对企业级需求时,有更好的性能及稳定性表现,也能够满足业务发展和应对不断演进的技术需求。
2929

@@ -79,7 +79,7 @@ author: <a href="https://github.com/CloudWeGo" target="_blank">CloudWeGo</a>
7979
传输层负责底层的网络库的抽象和实现。
8080

8181
[Hertz][Hertz] 支持底层网络库的扩展。[Hertz][Hertz] 原生完美适配 [Netpoll][Netpoll],在时延方面有很多深度的优化,非常适合时延敏感的业务接入。[Netpoll][Netpoll] 对 TLS 能力的支持有待完善,而 TLS 能力又是 HTTP 框架必备能力,
82-
为此 [Hertz][Hertz] 底层同时支持基于 Golang 标准网络库的实现适配,同时支持网络库的一键切换,用户可根据自己的需求选择合适的网络库进行替换。如果用户有更加高效的网络库或其他网络库需求,也完全可以根据需求自行扩展。
82+
为此 [Hertz][Hertz] 底层同时支持基于 Go 标准网络库的实现适配,同时支持网络库的一键切换,用户可根据自己的需求选择合适的网络库进行替换。如果用户有更加高效的网络库或其他网络库需求,也完全可以根据需求自行扩展。
8383

8484
**网络库的扩展**
8585
[网络库扩展](/zh/docs/hertz/tutorials/framework-exten/network-lib/)

content/zh/blog/news/Rust_or_Go/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ CloudWeGo 正式官宣新一代 Rust RPC 框架 [Volo][Volo] 开源!CloudWeGo
1616

1717
- **深度优化困难**
1818

19-
[Volo][Volo] 早期的团队成员来自于 [Kitex][Kitex] 项目(CloudWeGo 开源的 Golang 微服务 RPC 框架)。当时我们投入了大量的时间和精力优化 [Kitex][Kitex] 以及其他相关基础库的性能,最终却发现实现 Go 的深度优化有些困难。
19+
[Volo][Volo] 早期的团队成员来自于 [Kitex][Kitex] 项目(CloudWeGo 开源的 Go 微服务 RPC 框架)。当时我们投入了大量的时间和精力优化 [Kitex][Kitex] 以及其他相关基础库的性能,最终却发现实现 Go 的深度优化有些困难。
2020
我们仅仅可以做一些算法层面和实现层面的优化,如果想往下继续做其他层面的优化,比如指令层面的优化,是很难以低成本的方式实现的。而且在大多数情况下很多优化是要和 runtime 以及编译器作斗争的。
2121

2222
- **工具链和包管理不够成熟**

content/zh/docs/hertz/overview/_index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ description: "Hertz 架构设计、框架特点、框架性能。"
88

99
## CloudWeGo-Hertz
1010

11-
Hertz[həːts] 是一个 Golang 微服务 HTTP 框架,在设计之初参考了其他开源框架 [fasthttp](https://github.com/valyala/fasthttp)[gin](https://github.com/gin-gonic/gin)[echo](https://github.com/labstack/echo) 的优势,
11+
Hertz[həːts] 是一个 Go 微服务 HTTP 框架,在设计之初参考了其他开源框架 [fasthttp](https://github.com/valyala/fasthttp)[gin](https://github.com/gin-gonic/gin)[echo](https://github.com/labstack/echo) 的优势,
1212
并结合字节跳动内部的需求,使其具有高易用性、高性能、高扩展性等特点,目前在字节跳动内部已广泛使用。
13-
如今越来越多的微服务选择使用 Golang,如果对微服务性能有要求,又希望框架能够充分满足内部的可定制化需求,Hertz 会是一个不错的选择。
13+
如今越来越多的微服务选择使用 Go,如果对微服务性能有要求,又希望框架能够充分满足内部的可定制化需求,Hertz 会是一个不错的选择。
1414

1515
## 架构设计
1616

@@ -46,7 +46,7 @@ Hertz[həːts] 是一个 Golang 微服务 HTTP 框架,在设计之初参考了
4646

4747
- 网络层切换能力
4848

49-
Hertz 实现了 Netpoll 和 Golang 原生网络库 间按需切换能力,用户可以针对不同的场景选择合适的网络库,同时也支持以插件的方式为 Hertz 扩展网络库实现。
49+
Hertz 实现了 Netpoll 和 Go 原生网络库 间按需切换能力,用户可以针对不同的场景选择合适的网络库,同时也支持以插件的方式为 Hertz 扩展网络库实现。
5050

5151
## 框架性能
5252

content/zh/docs/kitex/Overview/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
title: "概览"
33
linkTitle: "概览"
44
weight: 1
5-
keywords: ["RPC", "Golang", "Go", "Kitex", "架构设计"]
5+
keywords: ["RPC", "Go", "Go", "Kitex", "架构设计"]
66
description: "Kitex 架构设计、框架特点、框架性能。"
77
---
88

99
## CloudWeGo-Kitex
1010

11-
Kitex[kaɪt'eks] 字节跳动内部的 Golang 微服务 RPC 框架,具有**高性能****强可扩展**的特点,在字节内部已广泛使用。如果对微服务性能有要求,又希望定制扩展融入自己的治理体系,Kitex 会是一个不错的选择。
11+
Kitex[kaɪt'eks] 字节跳动内部的 Go 微服务 RPC 框架,具有**高性能****强可扩展**的特点,在字节内部已广泛使用。如果对微服务性能有要求,又希望定制扩展融入自己的治理体系,Kitex 会是一个不错的选择。
1212

1313
## 架构设计
1414

0 commit comments

Comments
 (0)