Skip to content

Commit 0098580

Browse files
committed
more markdown cleanup
1 parent 739969d commit 0098580

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ A `Codec` object encodes and decodes _wire_ protocols, such as HTTP. You can use
421421

422422
In Finagle, RPC servers are built out of a `Service` and zero or more `Filter` objects. You apply filters to the service request after which you execute the service itself:
423423

424-
![Relationship between a service and filters (doc/Filters.png)](https://github.com/jdowens/finagle/raw/master/doc/Filters.png)
424+
![Relationship between a service and filters (doc/Filters.png)](https://github.com/twitter/finagle/raw/master/doc/Filters.png)
425425

426426
Typically, you use a `ServerBuilder` to create your server. A `ServerBuilder` enables you to specify the following general attributes:
427427

@@ -1164,7 +1164,7 @@ A client can access a cluster, as follows:
11641164

11651165

11661166

1167-
<a href="Configuring Finagle Servers and Clients"</a>
1167+
<a href="Configuring Finagle Servers and Clients"></a>
11681168

11691169
## Configuring Finagle Servers and Clients
11701170

@@ -1198,7 +1198,7 @@ Next we note the required parameters for the `ClientBuilder`.
11981198

11991199
When diving into configuration, we see two main abstractions. The first is the trio of client, hosts, and connections. A client may be implemented as a collection of one or more hosts, together with a policy that distributes client machines among the hosts. And each host may allow one or more connections to it, exposing concurrency among requests to the client and allowing parallel execution.
12001200

1201-
![Relationship between clients, hosts, and connections. (doc/client-hosts-connections.svg)](https://github.com/twitter/finagle/raw/master/doc/client-hosts-connections.svg)
1201+
![Relationship between clients, hosts, and connections. (doc/client-hosts-connections.svg)](https://github.com/jdowens/finagle/raw/master/doc/client-hosts-connections.svg)
12021202

12031203
The second main abstraction is the codec, which is responsible for turning a stream of bytes into a discrete request or response.
12041204

@@ -1218,12 +1218,12 @@ The purpose of a Cluster is to abstract a group of identical servers, where requ
12181218

12191219
> The Finagle balancing strategy is to pick the endpoint with the least number of outstanding requests, which is similar to a *least connections* strategy in other load balancers. The Finagle load balancer deliberately introduces jitter to avoid synchronicity (and thundering herds) in a distributed system. It also supports failover.
12201220
1221-
The simplest way to implement a custom load balancing strategy is to create your own client per endpoint and then write your own load balancer across that. The <a href="https://github.com/twitter/finagle/blob/master/finagle-core/src/main/scala/com/twitter/finagle/loadbalancer/HeapBalancer.scala">HeapBalancer</a> code provides a solid starting point; note it uses a heap to identify the endpoint with the least number of requests (`Ordering.by { _.load `}, where {load} is the number of connections).
1221+
The simplest way to implement a custom load balancing strategy is to create your own client per endpoint and then write your own load balancer across that. The <a href="https://github.com/twitter/finagle/blob/master/finagle-core/src/main/scala/com/twitter/finagle/loadbalancer/HeapBalancer.scala">HeapBalancer</a> code provides a solid starting point; note it uses a heap to identify the endpoint with the least number of requests (`Ordering.by { _.load }`, where `load` is the number of connections).
12221222

12231223

12241224
### Idle Times
12251225

1226-
.bq `hostConnectionIdleTime` vs. `hostConnectionMaxIdleTime`: with respect to the `ClientBuilder`, what's the difference?
1226+
> `hostConnectionIdleTime` vs. `hostConnectionMaxIdleTime`: with respect to the `ClientBuilder`, what's the difference?
12271227
12281228
`hostConnectionIdleTime` applies to the pool: "the amount of time a connection is allowed to linger (when it otherwise would have been closed by the pool) before being closed". `hostConnectionMaxIdleTime` applies to the physical connection: "the maximum time a connection is allowed to linger unused".
12291229

0 commit comments

Comments
 (0)