diff --git a/docs/cn/bvar_c++.md b/docs/cn/bvar_c++.md index 7888b39ac3..600349120e 100644 --- a/docs/cn/bvar_c++.md +++ b/docs/cn/bvar_c++.md @@ -54,7 +54,7 @@ foo::bar::g_task_pushed << 1; - `bvar::PerSecond` : 获得某个bvar在一段时间内平均每秒的累加值。PerSecond也是会自动更新的衍生变量。 - `bvar::LatencyRecorder` : 专用于记录延时和qps的变量。输入延时,平均延时/最大延时/qps/总次数 都有了。 -**确认变量名是全局唯一的!**否则会曝光失败,如果-bvar_abort_on_same_name为true,程序会直接abort。 +**确认变量名是全局唯一的!** 否则会曝光失败,如果-bvar_abort_on_same_name为true,程序会直接abort。 程序中有来自各种模块不同的bvar,为避免重名,建议如此命名:**模块_类名_指标** @@ -87,7 +87,7 @@ rpc_socket_count : 6 # 模块=rpc 类名=socket ```c++ namespace foo { namespace bar { -// 注意g_read_error_minute和g_task_pushed_per_second都是衍生的bvar,会自动更新,不要声明。 +// 注意g_read_error_minute和g_task_pushed_second都是衍生的bvar,会自动更新,不要声明。 extern bvar::Adder g_read_error; extern bvar::LatencyRecorder g_write_latency; extern bvar::Adder g_task_pushed; @@ -148,7 +148,7 @@ int expose_as(const butil::StringPiece& prefix, const butil::StringPiece& name); ``` 全局曝光后的bvar名字便为name或prefix + name,可通过以_exposed为后缀的static函数查询。比如Variable::describe_exposed(name)会返回名为name的bvar的描述。 -当相同名字的bvar已存在时,expose会打印FATAL日志并返回-1。如果选项**--bvar_abort_on_same_name**设为true (默认是false),程序会直接abort。 +当相同名字的bvar已存在时,expose会打印FATAL日志并返回-1。如果选项 **-bvar_abort_on_same_name**设为true (默认是false),程序会直接abort。 下面是一些曝光bvar的例子: ```c++ @@ -221,7 +221,7 @@ dump功能由如下gflags控制: | ------------------ | ----------------------- | ---------------------------------------- | | bvar_dump | false | Create a background thread dumping all bvar periodically, all bvar_dump_* flags are not effective when this flag is off | | bvar_dump_exclude | "" | Dump bvar excluded from these wildcards(separated by comma), empty means no exclusion | -| bvar_dump_file | monitor/bvar..data | Dump bvar into this file | +| bvar_dump_file | monitor/bvar.\.data | Dump bvar into this file | | bvar_dump_include | "" | Dump bvar matching these wildcards(separated by comma), empty means including all | | bvar_dump_interval | 10 | Seconds between consecutive dump | | bvar_dump_prefix | \ | Every dumped name starts with this prefix | diff --git a/docs/cn/circuit_breaker.md b/docs/cn/circuit_breaker.md index 63aaed1b21..0a06fa8a07 100644 --- a/docs/cn/circuit_breaker.md +++ b/docs/cn/circuit_breaker.md @@ -40,7 +40,7 @@ option.enable_circuit_breaker = true; 为了允许某个节点在短时间内抖动,同时又能够剔除长期错误率较高的节点,CircuitBreaker同时维护了长短两个窗口,长窗口阈值较低,短窗口阈值较高。长窗口的主要作用是剔除那些长期错误率较高的服务。我们可以根据实际的qps及对于错误的容忍程度来调整circuit_breaker_long_window_size及circuit_breaker_long_window_error_percent。 -短窗口则允许我们更加精细的控制熔断的灵敏度,在一些对抖动很敏感的场景,可以通过调整circuit_breaker_short_window_size和circuit_breaker_long_window_short_percent来缩短短窗口的长度、降低短窗口对于错误的容忍程度,使得出现抖动时能够快速对故障节点进行熔断。 +短窗口则允许我们更加精细的控制熔断的灵敏度,在一些对抖动很敏感的场景,可以通过调整circuit_breaker_short_window_size和circuit_breaker_short_window_error_percent来缩短短窗口的长度、降低短窗口对于错误的容忍程度,使得出现抖动时能够快速对故障节点进行熔断。 此外,circuit_breaker_epsilon_value可以调整窗口对于**连续抖动的容忍程度**,circuit_breaker_epsilon_value的值越低,计算公式中的alpha越小,acc_error_cost下降的速度就越快,当circuit_breaker_epsilon_value的值达到0.001时,若一整个窗口的请求都没有出错,那么正好可以把acc_error_cost降低到0。 diff --git a/docs/cn/flags.md b/docs/cn/flags.md index 74da50cb59..fa8eac8230 100644 --- a/docs/cn/flags.md +++ b/docs/cn/flags.md @@ -6,7 +6,7 @@ brpc使用gflags管理配置。如果你的程序也使用gflags,那么你应 # Usage of gflags -gflags一般定义在需要它的源文件中。#include 后在全局scope加入DEFINE_**(**, **, **); 比如: +gflags一般定义在需要它的源文件中。#include 后在全局scope加入DEFINE_*\*(*\*, *\*, *\*); 比如: ```c++ #include @@ -43,9 +43,9 @@ conf/gflags.conf: No such file or directory # flagfile -在命令行中参数和值之间可不加等号,而在flagfile中一定要加。比如`./myapp -param 7`是ok的,但在`./myapp -flagfile=./gflags.conf`对应的gflags.conf中一定要写成**-param=7**或**--param=7**,否则就不正确且不会报错。 +在命令行中参数和值之间可不加等号,而在flagfile中一定要加。比如`./myapp -param 7`是ok的,但在`./myapp -flagfile=./gflags.conf`对应的gflags.conf中一定要写成 **-param=7** 或 **--param=7**,否则就不正确且不会报错。 -在命令行中字符串可用单引号或双引号包围,而在flagfile中不能加。比如`./myapp -name="tom"`或`./myapp -name='tom'`都是ok的,但在`./myapp -flagfile=./gflags.conf`对应的gflags.conf中一定要写成**-name=tom**或**--name=tom**,如果写成-name="tom"的话,引号也会作为值的一部分。配置文件中的值可以有空格,比如gflags.conf中写成-name=value with spaces是ok的,参数name的值就是value with spaces,而在命令行中要用引号括起来。 +在命令行中字符串可用单引号或双引号包围,而在flagfile中不能加。比如`./myapp -name="tom"`或`./myapp -name='tom'`都是ok的,但在`./myapp -flagfile=./gflags.conf`对应的gflags.conf中一定要写成 **-name=tom** 或 **--name=tom**,如果写成-name="tom"的话,引号也会作为值的一部分。配置文件中的值可以有空格,比如gflags.conf中写成-name=value with spaces是ok的,参数name的值就是value with spaces,而在命令行中要用引号括起来。 flagfile中参数可由单横线(如-foo)或双横线(如--foo)打头,但不能以三横线或更多横线打头,否则的话是无效参数且不会报错! diff --git a/docs/cn/overview.md b/docs/cn/overview.md index cc1ff66ee1..a5a06288a6 100644 --- a/docs/cn/overview.md +++ b/docs/cn/overview.md @@ -66,7 +66,7 @@ RPC不是万能的抽象,否则我们也不需要TCP/IP这一层了。但是 * 访问服务? 包含[brpc/channel.h](https://github.com/brpc/brpc/blob/master/src/brpc/channel.h)并参考注释或[示例](https://github.com/brpc/brpc/blob/master/example/echo_c++/client.cpp). * 调整参数? 看看[brpc/controller.h](https://github.com/brpc/brpc/blob/master/src/brpc/controller.h). 注意这个类是Server和Channel共用的,分成了三段,分别标记为Client-side, Server-side和Both-side methods。 -我们尝试让事情变得更加简单,以命名服务为例,在其他RPC实现中,你也许需要复制一长段晦涩的代码才可使用,而在brpc中访问BNS可以这么写"bns://node-name",DNS是`Init("http://domain-name", ...)`,本地文件列表是"file:///home/work/server.list",相信不用解释,你也能明白这些代表什么。 +我们尝试让事情变得更加简单,以命名服务为例,在其他RPC实现中,你也许需要复制一长段晦涩的代码才可使用,而在brpc中访问BNS可以这么写`"bns://node-name"`,DNS是`"http://domain-name"`,本地文件列表是`"file:///home/work/server.list"`,相信不用解释,你也能明白这些代表什么。 ### 使服务更加可靠