Aleksandr Polovtcev created IGNITE-15104:
--------------------------------------------

             Summary: Introduce a higher level messaging abstraction
                 Key: IGNITE-15104
                 URL: https://issues.apache.org/jira/browse/IGNITE-15104
             Project: Ignite
          Issue Type: Task
          Components: networking
    Affects Versions: 3.0.0-alpha3
            Reporter: Aleksandr Polovtcev
            Assignee: Sergey Chugunov


Current network messaging interface has two groups of methods: methods, that 
accept a {{NetworkAddress}} as the destination address, and methods, that 
accept a {{ClusterNode}} as the destination address. First group is mostly 
useful for low-level interactions (e.g. in JRaft), while the second group is 
used by more high-level API consumers. This makes the whole interface less 
consistent and more difficult to use, for example, message listeners only 
provide the {{NetworkAddress}} of the sender, which is inconvenient for 
high-level components.

It is proposed to split this interface into two (actual naming is not final and 
can be changed during further discussions):
 # {{NetworkMessageService}} - for low-level interactions. It should accept a 
{{NetworkAddress}} as the recipient address and must be decoupled from the 
{{TopologyService}}.
 # {{ClusterMessageService}} - for high-level interactions. It should accept a 
{{ClusterNode}} as the recipient address and can be implemented as a 
composition of the {{NetworkMessageService}} and {{TopologyService}} .



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to