Recommendation to assing a message processor router to a perticular customer only

Query here is how to: for a given setup of 13 nodes Edge installation, with 2 instances containing profile Routers and message processors (RMP): add dedicated RMP to a given customer.

Information to add RMP is known, but the question is how to assign the newly add RMP to a particular customer X only.

Options that I can think currently are:

1) Client <-> ELB<->RM1 + RMP2 + RMP new

The ELB through some policy will be able to direct the request from Cust X to RMP new.

2) Client <-> ELB <-> RMP new

We create a new ELB and route all the Cust X request to RMP new.

Assuming during the ORG creation to a particular RMP new for Cust X will deploy all the API to RMP new only.

Please suggest your recommendation on the best way to assign a RMP new to a Cust X dedicatedly.

What other steps/ precaution needs to be taken for such kind of setup.

Just in case for HA, do we need to provision two numbers of RMP new?

0 2 823
2 REPLIES 2

While creating the new MP assign it to specific org or environment.

I don't think you can/need to dedicate Routers. They can be shared (AFAIK).

For HA yes, atleast 2 MPs are recommended.

The policy at ELB can simply be based on the basepath eg. cust1.domain.com vs cust2.domain.com etc.

the common pool of routers will also know which set of MPs are dedicated for which paths ... so they will be able to handle some aspect of the routing as well

adas
New Member

@asurajpai When you bring up a new RMP node, you can add the message-processor uuid to a given org and env, using the /v1/o/myorg/e/myenv/servers api by doing a POST call using the uuid.

Normally, if there are multiple RMP nodes, then the router would round robin between the MPs and routers in the same pod would be shared by all Orgs in the pod. If you want to dedicate routers to an org(customer) then there are few ways to do it. However since you have already dedicated MPs for a given org, the best option would be to enable pitch-forking. In the router's router.properties file, there's a property called allowed-message-procesors. You can put the uuids of the MPs, so the router would only send traffic to those message processors.You can then put an ELB or HAProxy or some other load balancer which has cnames to your virtualhost alias for that customer. Hope this helps.