How opdk multi dc setup works ?

hi folks,

I just wanted to know how opdk multi dc setup works?

I set up 12 Node multi DC (6 nodes per dc)

so apigee mentioned...

"This scenario covers disaster recovery and analytics high availability across two data centers."

so the topology for 12 nodes looks like below

rohanjangid_0-1632462144620.png

In this case, we have 4 router means (each dc 2 routers)

likewise, let say I selected two dc 

1. us-west (management server IP = 10.128.0.55) => associated with different two router

2. us-east (management server IP = 10.128.0.56) => associated with different two router

I have gone through the IP 10.128.0.55 (MS1) there it is associated with a router with two different IP

 

let say ( r1 = 35.202.39.60, r2 = 35.220.47.93)

and API proxy flow is perfectly routed to the above router`s IP

but as soon

I have gone through the IP 10.128.0.56 (MS2) there it is associated with a router with two Same router IP that is already available in MS1

I also create here another proxy but that proxy also attach with MS1`s router IP 

Is this normal behavior (I think it should be shown different router IP in MS2) how its works 

 

one more thing 

we have 4 routers here (In multi dc setup)

I migrate EDGE to OPDK and test the environment and I release stress/traffic at 90tps for 8 hours

Test terminology = Test the environment using only single Router IP

and I found my success rate is around 96% and failure in around 4%

so I am testing the environment using only one router IP so they are Internally using A Load Balancer or anything else or not 

Or do we have to set up a LB in the back of 4 routers IP

 

Thanks

@cjking @ssvaidyanathan @markjkelly @ylesyuk @DChiesa @dchiesa1 

 

 

 

 

 

 

 

0 7 284
7 REPLIES 7


us-west (management server IP = 10.128.0.55) => associated with different two router

A router is registered to a "planet" (which represents an Apigee installation which can cover multiple DCs) and associated with organizations. (MPs are associated with environments instead, but the same applies otherwise). Routers/MPs are not associated with management servers. Assuming you're using the same org/env for both DCs, then yes, having virtual hosts and proxies deployed in both DCs is normal and expected behavior.

 


so I am testing the environment using only one router IP so they are Internally using A Load Balancer or anything else or not 

Routers don't process traffic on their own. They mostly handle the virtual host processing and then the actual proxy processing is done by the MPs. Routers will load balance across MPs within a DC, but Apigee doesn't come with a built-in way for you to LB across routers. I would definitely recommend you implement some method of load balancing across routers, at a bare minimum so that you can implement DC failovers.

 

Regardless, 90TPS is a relatively light load. Under otherwise ordinary circumstances, I would expect a single router/MP combo should be able to service 90TPS without an issue. I don't think load is your issue here, so I'd recommend further digging into the failures to find out what caused them.

thank you very much for review  @cjking 

but still, I am confused about this statement

 

I have gone through the IP 10.128.0.56 (MS2) there it is associated with a router with two Same router IP that is already available in MS1

 

 

why in MS2 I am getting the same IP (Means these two other routers that I create is wasted for the MS2 )

also, I stop my router that is associate with MS1, suppose like term "high-availability"  then my router (r3 and router r4 ) should be active but there are no effects like this

 

@cjking @ssvaidyanathan @markjkelly @ylesyuk @DChiesa @dchiesa1  

why in MS2 I am getting the same IP (Means these two other routers that I create is wasted for the MS2 )

I'm not quite sure what to make of this. Apigee doesn't assign the IPs - that's done by the OS/Network. Having two routers using the same IP address is not good but it's not inherently related to Apigee. Does ifconfig / ip addr show the same IP addresses on these nodes?

also, I stop my router that is associate with MS1, suppose like term "high-availability"  then my router (r3 and router r4 ) should be active but there are no effects like this

If you're load balancing traffic between MS1 and MS2, then yes. However please remember that this load balancing is BYO, so you'll need to check that for your environment.

@cjking I checked with my MS2 routers IP using ifconfig it is showing different 

OK, so it's just your router wiring that's wrong then. Try removing ( https://docs.apigee.com/private-cloud/v4.51.00/removing-server-management-servermessage-processorrou... ) and re-adding it with the correct IP ( https://docs.apigee.com/private-cloud/v4.51.00/adding-router-or-message-processor-node ). You should verify that your install config file has the correct IP in it before proceeding.

@cjking I checked my files twice it is correct I put the right IP of router r3 and r4 after that I try I edit the onboarding conf. file and add all the 4 routers IP in single files push the same files in both DC then I notified I'm getting 4 routers IP in both DC 

I'm also not sure what you mean by your MS and R associations, but: 

 

- dc-1 and dc-2 is REGIONS that have their own local-qourum cassandras (3+3) 

- router is not associated to DC, but works within same pod (POD = gateway1, gateway2 for dc-2). routers in dc-1 will look and transfer the traffic only to MP's that in the same pod, this means that dc-1 routers, that are associated with gateway-1 pod will only transfer the traffic for the MP's that are in the same pod (dc-1). 

- message processors attached to environment > this means if you in UI(ms underneath) deploying proxy to ENV1 > which is associated with MP3 and MP4 (that are part of dc-2) - only they can 'anwser' ROUTER lookup "who has this API deployed" 

- routers are components that works 'beyond' dc (REGION) and will hold up virtual hosts and ports (I think) for all configuration on each router @ncardace ?