Comments (2)
so if i understand right, each server is connected to each other server, so 5x4
connections == 20. Now the question of whether a bus ( multicast ) is
appropriate or not depends on whether you really intend or need to distribute
ALL messages between ALL servers ( and a bit on the location of these servers
). In the end, you will only remain performant if you partition your data
between available servers to provide a certain amount of redundancy, and
unicast your data to the few appropriate servers.
There might be a "sweet" spot where multicast ( assuming in a single LAN /
cloud provider ) is both efficient and fast for a dozen or so servers, but if
you apply a reliable transport on top of UDP multicast, then you're overall
sustainable throughput is limited by the message consumption rate of the
slowest consumer(server).
If you partition your server data and only message to 2 or 3, the the absolute
number of servers which a single server knows is hardly relavant. You can have
TCP connections to hundreds of other servers without having problems. You have
to consider your LAN/WAN setup and network topology to get really high
performance ( and then you will need to know if you are trying to optimize
throughput or latency ).
Original comment by [email protected]
on 22 Mar 2012 at 7:09
- Changed state: Started
from protobuf-rpc-pro.
Original comment by [email protected]
on 22 Apr 2012 at 8:14
- Changed state: Done
from protobuf-rpc-pro.
Related Issues (20)
- async call's timeout not really work HOT 3
- Support Java 6 HOT 3
- RpcServiceRegistry cannot remove BlockingService HOT 1
- Protocol Buffers 2.6 HOT 7
- Disabling logging HOT 3
- Python rpc support HOT 1
- Upgrade to protobuf-java 3.0.0 ( after Netty ) HOT 3
- maven not building for project HOT 3
- protoc plugin that is being used HOT 4
- Using Websockets HOT 1
- CleanShutdownHandler to shutdown RpcClientConnectionWatchdog
- RpcClientChannel support "attributes" and isClosed method.
- CleanshutdownHandler leaves Thread prohibiting JVM shutdown HOT 1
- Allow RpcClientChannel attributes on client peerWith HOT 1
- CleanShutdownHandler leaves shutdown hook registered when shutdown explicitly HOT 1
- Is this project stable enough to use in production environment? HOT 2
- WatchdogThread is not renamed to a readable thread name HOT 2
- StackOverflowError DuplexTcpClientPipelineFactory.peerWith HOT 4
- C++ impl? HOT 1
- Compile Fail by Not Found AsyncThreadPoolCallExecutor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from protobuf-rpc-pro.