Feature #401

DDR for services

Added by Madars about 5 years ago. Updated about 3 years ago.

Status:ClosedStart date:03/25/2019
Priority:Normal (Code 4)Due date:
Assignee:-% Done:

100%

Category:-
Target version:-

Description

We could add:

#
# This will make each ATMI client/server to parse ndrxconfig.xml
#
NDRX_USEDDR=Y

Then we could have "<services>" tag and "<routing>". the groups could be numberic (like rmid).

for these special services, we could advertise them with "<service_name>,<group_id>".
Thus if user makes "tpadvertise"/"tpunadvertise" we could use "rmid" and make two advertise calls one for common services and another for group shared.

History

#1 Updated by Madars about 5 years ago

The rules for services we could store in RWLOCKED shard memory and in tpcall we could check the SHM and rules stored there.

#2 Updated by Madars about 5 years ago

we could add xadmin command like;

xadmn reload
xadmin ddr_reload

so that ndrxd locks the SHM with write lock and installs there new rules.

#3 Updated by Madars almost 5 years ago

Service auto transactions shall be supported too.
Thus we need:

- SVCTIMEOUT (with out kill at the moment)
- AUTOTRAN
- TRANTIME

#4 Updated by Madars over 4 years ago

ndrxd whould copy the rules to shared memory block, from start to finish (with RWLOCK installed). Binaries at tpinit point, would read the shared mem blocks, compile the rules and build the in-memory hash list of services. Then at tpadvertise or tpcall/tpforward/connet point we lookup the hash list, check the rules and detect the target group.

#5 Updated by Madars over 4 years ago

It would be nice to have to fallback services to some other, if in found routing group services does not exist.

#9 Updated by Madars about 3 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Release notes:

- Implemented <services>/<service> tag and <routing>/<route> tags to enable DDR for services.
- Updated libraries to support additional service advertise in case if NDRX_RTGRP environment is set.
- Support dynamic on the fly config reload via xadmin reload.
- Implemented automatic transaction support for servers.
- Added APIs: tpsprio(3) and tpgprio(3) for priority handling.

See ndrxconfig.xml(5), ex_env(5) and xadmin(5) man pages.

With this release, two additional shared memory segments are added to Enduro/X (created at startup).

#10 Updated by Madars about 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF