Hello,All:
As mentioned in https://bugs.opendaylight.org/show_bug.cgi?id=2890
"
One additional improvement we can do with Artery is to separate messages into
separate subchannels, hence eliminating latency cross-talk between components.
Specifically:
- RAFT messages should use one subchannel
- Frontend -> Backend messages should use another subchannel
- Backend -> Frontend messages should use yet another subchannel
This should result in RAFT not being blocked by anything going on in the FE/BE
interface and Shards being able to make forward progress irrespective of
frontend request being made from their local node to shard leaders on other
nodes."
I submit a solution at: https://bugs.opendaylight.org/show_bug.cgi?id=7841,
and pelease reference the attachments:
“
I did some work to implement such a component temporarily named
"sal-akka-subchannel" to resolve the latency cross-talk between components.The
"sal-akka-subchannel" is based on akka and provides 2 API: request and post,
similar to ask and tell in akka.
Please refer to the attachment,any communication component such as FE and BE
need to initialize the "sal-akka-subchannel" .
BE like Shard ,must be an Actor,and FE , it could be an Actor like Shard also
or not like DDS.
For an BE Actor ,"sal-akka-subchannel" would create a child of it with default
actor id like "subchannel-default",
and the actor path would
like:"akka.tcp://cluster-test@127.0.0.1:2558/user/xxxxxx/subchannel-default",
which could be used for resolving the path throuth BE Actor's path on FE side
simplely.
the key points:
1.many to many,serialization can be performed in parallel for different
destination actors,
2.any similar ReadCmd should call "request" method instead of ask ,and
similar ReadDataReply should call "post" instead of tell.
3."sal-akka-subchannel" would use no matter Artery or not,it just chunk message
like installsnapshot
4.app Actor should separate messages into "sal-akka-subchannel" which would
block others like RAFT messages."
Wether the "sal-akka-subchannel" meets the requirements?
Hope to get your idea.
Thanks
_______________________________________________
controller-dev mailing list
controller-dev@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/controller-dev