Skip to content

Commit b33dfcb

Browse files
committed
fix style
1 parent fc73ba4 commit b33dfcb

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

configuration.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ $client = ClientBuilder::create() // Instantiate a new ClientBuilder
192192
->build(); // Build the client object
193193
--------------------------------------------------
194194

195-
=== 配置HTTP Handler
195+
=== 配置 HTTP Handler
196196

197197
Elasticsearch-PHP 使用的是可替代的 HTTP 传输层——https://github.com/guzzle/RingPHP/[RingPHP]。这允许客户端构建一个普通的 HTTP 请求,然后通过传输层发送出去。真正的请求细节隐藏在客户端内,并且这是模块化的,因此你可以根据你的需求来选择 HTTP handlers。
198198

@@ -260,7 +260,7 @@ $client = ClientBuilder::create()
260260

261261
更多细节请查询 link:_serializers.html[序列化器配置]。
262262

263-
=== 设置自定义ConnectionFactory
263+
=== 设置自定义 ConnectionFactory
264264

265265
当连接池发送请求时,ConnectionFactory 就会实例化连接对象。一个连接对象代表一个节点。因为 handler(通过RingPHP)才是真正的执行网络请求,那么连接对象的主要工作就是维持连接:节点是活节点吗?ping 的通吗?host 和端口是什么?
266266

connection-pool.asciidoc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
连接池是客户端内的一个对象,主要是维持现有节点的连接。理论上来讲,节点只有死节点与活节点。
55

6-
然而在现实世界中,事情绝不这么明确。有时候节点是处在 _“可能挂了但还未确认”_ 、 _“连接超时但未知原因”_ 或 _“最近挂过但现在可用”_ 的灰色地带中。而连接池的工作就是管理这些无规则的连接,并为客户端提供最稳定的连接状态。
6+
然而在现实世界中,事情绝不会这么明确。有时候节点是处在 _“可能挂了但还未确认”_ 、 _“连接超时但未知原因”_ 或 _“最近挂过但现在可用”_ 的灰色地带中。而连接池的工作就是管理这些无规则的连接,并为客户端提供最稳定的连接状态。
77

88
如果一个连接池找不到一个活节点来发送查询,那么就会返回一个 `NoNodesAvailableException` 异常给客户端。这里跟最大重连次数(retry)有所不同。假如有这么一个例子:你的集群中可能有 10 个节点。你发送一个请求,其中有 9 个节点因为连接超时而请求失败。而第 10 个节点发送请求成功并成功执行请求。在上述例子中,前 9 个节点会被标记为死节点(连接池处于使用状态才会被标记),且它们的“死亡”定时器会启动生效。
99

@@ -13,9 +13,9 @@
1313

1414
=== staticNoPingConnectionPool(默认)
1515

16-
连接池维持一个静态的hosts清单,这些hosts在客户端初始化时都被假定为活节点。如果一个节点处理请求失败,那么该节点会被标记为死节点并持续 60 秒,而请求会发送到下一个节点。60 秒过后,节点则会再生并加入请求轮询中。每增加一次请求失败次数都会导致死亡时间以指数级别增长。
16+
连接池维持一个静态的 hosts 清单,这些 hosts 在客户端初始化时都被假定为活节点。如果一个节点处理请求失败,那么该节点会被标记为死节点并持续 60 秒,而请求会发送到下一个节点。60 秒过后,节点则会再生并加入请求轮询中。每增加一次请求失败次数都会导致死亡时间以指数级别增长。
1717

18-
请求成功一次后会重置"failed ping timeout"计数器。
18+
请求成功一次后会重置 "failed ping timeout" 计数器。
1919

2020
如果你想明确的设置连接池为 `StaticNoPingConnectionPool` ,你可能要在ClientBuilder对象中使用 `setConnectionPool()` 方法:
2121

@@ -30,7 +30,7 @@ $client = ClientBuilder::create()
3030

3131
=== StaticConnectionPool
3232

33-
`StaticConnectionPool` 除了要在使用前ping节点来确定是否为活节点,其它的特性与 `StaticNoPingConnectionPool` 一致。这可能对于执行时间较长的脚本比较有用,但这往往会增加额外开销,因为对一般的PHP脚本来说这是不必要的。
33+
`StaticConnectionPool` 除了要在使用前 ping 节点来确定是否为活节点,其它的特性与 `StaticNoPingConnectionPool` 一致。这可能对于执行时间较长的脚本比较有用,但这往往会增加额外开销,因为对一般的PHP脚本来说这是不必要的。
3434

3535
使用 `StaticConnectionPool` 的方法:
3636

@@ -45,7 +45,7 @@ $client = ClientBuilder::create()
4545

4646
=== SimpleConnectionPool
4747

48-
`SimpleConnectionPool` 仅仅返回选择器(Selector)指定的下个节点信息,它不监测节点的“生死状态”。不管节点是活节点还是死节点,这种连接池都会返回节点信息给客户端。它仅仅是个简单的静态host连接池
48+
`SimpleConnectionPool` 仅仅返回选择器(Selector)指定的下个节点信息,它不监测节点的“生死状态”。不管节点是活节点还是死节点,这种连接池都会返回节点信息给客户端。它仅仅是个简单的静态 host 连接池
4949

5050
`SimpleConnectionPool` 不建议常规使用,但是它是个有用的调试工具。
5151

@@ -62,7 +62,7 @@ $client = ClientBuilder::create()
6262

6363
=== SniffingConnectionPool
6464

65-
`SniffingConnectionPool` 与前面的两个静态连接池有所不同,它是动态的。用户提供 hosts 种子,而客户端则会嗅探这些 hosts 并发现集群的其余节点。 `SniffingConnectionPool` 通过Cluster State API来实现嗅探。当集群添加新节点或删除节点,客户端会更新连接池的活跃连接。
65+
`SniffingConnectionPool` 与前面的两个静态连接池有所不同,它是动态的。用户提供 hosts 种子,而客户端则会嗅探这些 hosts 并发现集群的其余节点。 `SniffingConnectionPool` 通过 Cluster State API 来实现嗅探。当集群添加新节点或删除节点,客户端会更新连接池的活跃连接。
6666

6767
使用 `SniffingConnectionPool` 的方法:
6868

@@ -159,13 +159,13 @@ $client = ClientBuilder::create()
159159
->build();
160160
--------------------------------------------------
161161

162-
=== 选择什么连接池?PHP 和连接池的关系
162+
=== 选择什么连接池?PHP 和连接池的关系
163163

164164
初看觉得 `sniffingConnectionPool` 似乎比较高级。对许多语言来说当然如此。但是 PHP 则有些不同。
165165

166-
因为PHP是无共享架构(share-nothing architecture),php脚本实例化后无法维持一个连接池。这意味着每个脚本在重新执行时都要负责创建、维持和销毁连接。
166+
因为 PHP 是无共享架构(share-nothing architecture),php 脚本实例化后无法维持一个连接池。这意味着每个脚本在重新执行时都要负责创建、维持和销毁连接。
167167

168-
嗅探是相对轻量的操作(调用一次API到 `/_cluster/state` ,然后ping每个节点),但是对于某些PHP程序来说,这可能是一笔不可忽视的开销。一般的PHP脚本可能会加载客户端,执行一些请求然后关闭。想象一下这个脚本每秒调用 1000 次: `SniffingConnectionPool` 会每秒执行嗅探和ping所有节点 1000 次。嗅探程序则会增加大量的开销。
168+
嗅探是相对轻量的操作(调用一次API到 `/_cluster/state` ,然后 ping 每个节点),但是对于某些 PHP 程序来说,这可能是一笔不可忽视的开销。一般的 PHP 脚本可能会加载客户端,执行一些请求然后关闭。想象一下这个脚本每秒调用 1000 次: `SniffingConnectionPool` 会每秒执行嗅探和 ping 所有节点 1000 次。嗅探程序则会增加大量的开销。
169169

170170
在实际中,如果你的脚本只是执行一些请求,用嗅探就太粗暴了。嗅探对于常驻进程来说往往更加有用。
171171

crud.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ $response = $client->index($params);
5757

5858
=== 批量(bulk)索引
5959

60-
Elasticsearch 也支持批量(bulk)索引文档。bulk API 要求提供 JSON格式的 action/元数据 键值对。在 PHP 中构建批量文档数据也是相似的。你首先要创建一个 action 数组对象(如 `index` 对象),然后你还要创建一个 body 对象。而 PHP 程序则重复上述操作构建文档数据。
60+
Elasticsearch 也支持批量(bulk)索引文档。bulk API 要求提供 JSON 格式的 action/元数据 键值对。在 PHP 中构建批量文档数据也是相似的。你首先要创建一个 action 数组对象(如 `index` 对象),然后你还要创建一个 body 对象。而 PHP 程序则重复上述操作构建文档数据。
6161

6262
一个简单的例子如下所示:
6363

@@ -121,7 +121,7 @@ if (!empty($params['body'])) {
121121
[[_getting_documents]]
122122
== 获取文档
123123

124-
Elasticsearch 提供获取文档的实际时间。这意味着只要文档被索引且客户端收到消息确认后,你就可以立即在任何的分片中检索文档。Get 操作通过 `index/type/id` 方式请求一个文档信息:
124+
Elasticsearch 提供实时获取文档的方法。这意味着只要文档被索引且客户端收到消息确认后,你就可以立即在任何的分片中检索文档。Get 操作通过 `index/type/id` 方式请求一个文档信息:
125125

126126
[source,js]
127127
--------------------------------------------------

0 commit comments

Comments
 (0)