You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/blog/releases/Kitex/release-v043.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ description: >
18
18
### **Optimization**
19
19
20
20
1.**Frugal Performance Optimization** : Support frugal precompile (pretouch) when new client or server, which is to reduce the impact of dynamic compilation on latency.
21
-
2.**Connpool Optimiztion** : Refactor connection pool to improve the idle connections cleanup.
21
+
2.**Connpool Optimization** : Refactor connection pool to improve the idle connections cleanup.
Copy file name to clipboardExpand all lines: content/en/blog/releases/Kitex/release-v0_13_0.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -93,7 +93,7 @@ description: >
93
93
94
94
[[#1725](https://github.com/cloudwego/kitex/pull/1725)] fix: code gen import issue for streamx mode, stream call judgement bug and set ttheader streaming as default
[[#1658](https://github.com/cloudwego/kitex/pull/1658)] refactor: streamx api to adapt both grpc and ttheader streaming protocol and provide more user-friendly interface
> 基础服务层大多是计算密集型服务,CPU 利用率等不完全反应程序的负载,服务过载可能是 GPU 负载过高。 使用请求在队列中的平均等待时间(“queue time”)来计算服务的负载。之所以不选择请求的平均处理时间(“procss time”),是为了去除下游服务调用的影响。有时 process time 的增加并不代表当前服务过载了,而是请求依赖的下游服务过载。另一方面,请求的 process time 增加到一定程度,当前服务的资源也会逐渐耗尽,最终反应在 queue time 的增加上。
253
+
> 基础服务层大多是计算密集型服务,CPU 利用率等不完全反应程序的负载,服务过载可能是 GPU 负载过高。 使用请求在队列中的平均等待时间(“queue time”)来计算服务的负载。之所以不选择请求的平均处理时间(“process time”),是为了去除下游服务调用的影响。有时 process time 的增加并不代表当前服务过载了,而是请求依赖的下游服务过载。另一方面,请求的 process time 增加到一定程度,当前服务的资源也会逐渐耗尽,最终反应在 queue time 的增加上。
254
254
255
255
我们可以看下图,当我们整个 CPU 或者是 GPU 整体的负载较高的时候,它的排队时间就会去无限长。所以这里给我们一种启发的机制,也就是说我们设置一个最长的队列等待时间。因为刚才也说了,在整个微服务的框架下,我们一定要干的一件事情就是一定要有超时的机制,因为没有超时的机制最终可能导致整个系统都被焊住。所以我们这里针对于这个 Queue Time 设置一个 Timeout 的话,那就可以去保证我们这些计算密集能服务在它的排队时间,等到一定时间的时候我们就立即丢弃请求。
|`func (h *ResponseHeader) SetContentEncoding(contentEncoding string)`| Set Content-Encoding |
380
380
|`func (h *ResponseHeader) SetContentEncodingBytes(contentEncoding []byte)`| Set Content-Encoding |
381
381
|`func (h *ResponseHeader) SetCanonical(key, value []byte)`| Set the Header key value, assuming that the key is in canonical form |
382
382
|`func (h *ResponseHeader) Server() []byte`| Return the value with key `Server` in the header |
383
383
|`func (h *ResponseHeader) SetServerBytes(server []byte)`| Set the key in the header to the value of Server |
384
384
|`func (h *ResponseHeader) MustSkipContentLength() bool`| Determine if there is a response body (according to the HTTP/1.1 protocol, there is no response body when the response status codes are 1xx, 204, or 304) |
|`func (h *ResponseHeader) SetStatusCode(statusCode int)`| Set StatusCode |
387
387
|`func (h *ResponseHeader) Len() int`| Return the number of headers |
388
388
|`func (h *ResponseHeader) DisableNormalizing()`| Disable the normalization of header name (capitalize the first letter and the first letter after the Em dash) |
Copy file name to clipboardExpand all lines: content/en/docs/hertz/tutorials/third-party/service_discovery/servicecomb.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -353,7 +353,7 @@ func main() {
353
353
354
354
### NewSCResolver
355
355
356
-
`NewSCReslover` uses service-comb to create a new service discovery center. It needs to pass in a custom client. The configuration of the service discovery center can be customized.
356
+
`NewSCResolver` uses service-comb to create a new service discovery center. It needs to pass in a custom client. The configuration of the service discovery center can be customized.
Copy file name to clipboardExpand all lines: content/en/docs/kitex/Tutorials/advanced-feature/codec_frugal.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -193,7 +193,7 @@ Note:
193
193
1. If Framed is not set, there may be issues:
194
194
1. The server may not be able to decode with frugal without Payload Size (refer to: "Kitex Server -> Notes");
195
195
2. The server won't reply with a `Framed` payload, thus the Client may also not be able to decode with frugal (no Payload Size again);
196
-
2. If the target server does not support `Framed`, then don't use it; the client can encode without it, but if the response (from the server) is not Framed (i.e. with preprended payload size), the client may not be able to decode with Frugal (so in this case, do not use slim template);
196
+
2. If the target server does not support `Framed`, then don't use it; the client can encode without it, but if the response (from the server) is not Framed (i.e. with prepended payload size), the client may not be able to decode with Frugal (so in this case, do not use slim template);
197
197
3.`TTHeaderFramed` is an alternative (it's the BIT-OR result of `TTHeader | Framed`).
@@ -435,7 +435,7 @@ It can be seen that as the data level continues to increase, the performance adv
435
435
You can use [generic.DescriptorToPathNode ](https://github.com/cloudwego/dynamicgo/tree/main/thrift/generic#func-descriptortopathnode)to quickly construct the struct DOM ( **zero value**)
Copy file name to clipboardExpand all lines: content/en/docs/kitex/Tutorials/basic-feature/streamx/Kitex+StreamX+-+Stream+Middleware.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ type StreamRecvMiddleware func(next StreamRecvEndpoint) StreamRecvEndpoint
58
58
| StreamRecvMiddleware | - The data is not really collected, just called the stream.Recv () function.<br><br>- Res parameter is empty | - Data received or encountered an error<br><br>- The res parameter has a real value |
59
59
| StreamSendMiddleware | - The data was not actually sent, just called the stream.Send () function<br><br>- The req parameter is a real request | - Data transmission completed or encountered an error<br><br>- The req parameter is a real request |
60
60
61
-
### Unary Middlware
61
+
### Unary Middleware
62
62
63
63
For all non-streaming interfaces, we additionally provide ```UnaryMiddleware``` for injecting middleware that only works on all unary methods.
Copy file name to clipboardExpand all lines: content/en/docs/kitex/Tutorials/code-gen/prutal.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ Technically Prutal and Frugal are similar to the use of struct tags and efficien
18
18
19
19
Currently open source, the specific implementation and subsequent benchmark data can be viewed: https://github.com/cloudwego/prutal
20
20
21
-
## **Using Advices**
21
+
## **Using Advises**
22
22
23
23
Initially, it is not recommended that users use Prutal directly, and currently only promises forward and backward compatibility with Prutal integration in Kitex.
| `RetryDelayMS` | - | Duration of waiting for initiating a BackupRequset when the first request is not returned. This parameter must be set manually. It is suggested to set as TP99. |
72
+
| `RetryDelayMS` | - | Duration of waiting for initiating a BackupRequest when the first request is not returned. This parameter must be set manually. It is suggested to set as TP99. |
73
73
| `MaxRetryTimes` | 1 | The first request is not included. If it is configured as 0, it means to stop retrying. | Value: [0-2] |
74
74
| `EERThreshold` | 10% | If the method-level request error rate exceeds the threshold, retry stops. | Value: (0-30%] |
75
75
| `ChainStop` | false | `Chain Stop` is enabled by default. If the upstream request is a retry request, it will not be retried after timeout. | >= v0.0.5 as the default policy. |
| RetryDelayMS | - | Duration of waiting for initiating a BackupRequset when the first request is not returned. This parameter must be set manually. It is suggested to be set as TP99. | | —— | As long as there is a result forBackupRequest, no new BackupRequest will be sent regardless of the result.MixedRetry waits for valid results to be replied. |
82
+
| RetryDelayMS | - | Duration of waiting for initiating a BackupRequest when the first request is not returned. This parameter must be set manually. It is suggested to be set as TP99. | | —— | As long as there is a result forBackupRequest, no new BackupRequest will be sent regardless of the result.MixedRetry waits for valid results to be replied. |
83
83
| MaxRetryTimes | 1 | The maximum number of retries for both Backup request and FailureRetry, excluding the first request. If configured to 0, it means to stop retrying. | [0-3] | Legal val: [0-2]Default Val: 2 | Legal val: [0-5]Default Val: 1 |
84
84
| MaxDurationMS | 0 | The cumulative maximum time consumption, including the first failed request and the retry requests. If time consumption reaches the limit, the subsequent retries will be stopped, and the unit is ms. 0 means no limit. Note: If configured, the configuration item must be greater than the request timed out time. | Minimum: RPCTimeoutTheoreticalMaximum:RPCTimeout * (MaxRetryTimes+1) | DefaultVal: 0 | —— |
85
85
| StopPolicy.CBPolicy | 10% | RetryPercentageLimitNote: Single instance - method granularity. If it exceeds the threshold, stop retrying. | (0-30%] | Same | Same |
0 commit comments