Comments (6)
@dilipmighty245 the Diego IP access is no longer supported as of 1.4.0.RELEASE. This was removed in favor of Container Networking support and the direct
mode was modified to use this approach instead. There were technical issues with the direct Diego IP address approach that were found with customer use cases. I'm not aware of any implementation doing cross-DC registrations though so this is a new one.
There are ways that this can be accomplished using different methods. Can you describe in more detail what your HA use is. Could peer replication meet the same need for registering apps in both locations although not using direct
mode? In addition, are these DCs located in a proximity that using a common network fabric could be used. It sounds like this might have been the case already considering the 198.x.x.x access across DCs?
from spring-cloud-services-starters.
Hi @csterwa ,
Thanks for the quick response,
- The scenario is, my Application is running in Two DCs with 2 instances per DC.
- Simple Architecture : Zuul<->Eureka<->App
- The Eureka in both DCs are peers(Im Using Spring Cloud Services)
- If services in one DC is Down, the requests go to another DC. However, the application is registering with its container IP, Zuul is not able to connect with the application, throwing the following error:
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 10.x.x.x:80 [/10.x.x.x] failed: Connection refused (Connection refused) - When we were using 1.3.1.RELEASE, the apps are registering with Diego IP, and we never faced any issue even services are down in another DC. ( Never faced connection refused/timeout issue)
- Both DCs are not in proximity
- If I use the registration method as route instead of direct, One DC throw Connection Refused, and the Zuul which is in the same DC as App throws I/O exception (java.net.NoRouteToHostException) caught when processing request to {}->http://10.x.x.x:80: No route to host (Host unreachable)
Note: Network policies are added between Apps
from spring-cloud-services-starters.
@dilipmighty245 the last item on your list:
"If I use the registration method as route instead of direct, One DC throw Connection Refused, and the Zuul which is in the same DC as App throws I/O exception (java.net.NoRouteToHostException) caught when processing request to {}->http://10.x.x.x:80: No route to host (Host unreachable)"
It is interesting that when registering with Eureka via route
mode it is providing an IP address of 10.x.x.x as the host? I thought that this would be the app's mapped route on PCF with the domain instead of IP address. Does the Zuul implementation use the IP address only when making the connection or can it use host instead?
from spring-cloud-services-starters.
@csterwa Yes you are right, it is registering with Eureka with App route, the issue I found is
I had added ribbon.IsSecure=false, thats the reason it was throwing Exception
Changed this to ribbon.IsSecure=true, the issue resolved
However, it would be inefficient to use route always as the traffic has to go through go-router every time.
Can you please suggest ?
from spring-cloud-services-starters.
@dilipmighty245 at this time, SCS only supports either direct
mode within a single PCF Foundation using container IP access or route
mode using the Gorouter mapped route across PCF Foundations with peer replication on Service Registry.
We do have a team at Pivotal who is working on cross-foundation reference architectures that could help in this case. For instance, using NSX to create a network mesh across foundations with shared IP address space that enables connectivity. I'm sure there are other means, as well, that I'm not as well versed in. Would you mind sending a ticket into Pivotal Support to start a conversation with our internal teams who can help?
from spring-cloud-services-starters.
Closing pending question response.
from spring-cloud-services-starters.
Related Issues (20)
- SurgicalRoutingRequestTransformer is not Null Safe
- spring-cloud-services-starter-circuit-breaker 2.3.0 depends on a SNAPSHOT HOT 2
- actuator/refresh doesn't work with 3.2.1 HOT 1
- Create scs-starters' own ci image
- Upgrade concourse-release-scripts jar
- Migrate 2.4.x pipeline
- Bump to Spring Boot 2.5.x
- Release 3.3.0 HOT 1
- Ensure that nohttp and checkstyle plugins are applied in CI
- Security issues in 3.3.0 HOT 4
- What is the timeline for supporting Spring Boot 2.6.x?
- `OAuth2DiscoveryClientOptionalArgs` must be defined before other `DiscoveryClientOptionalArgs`
- Applications with multiple routes have no way of configuring a route that's registered HOT 1
- Eureka won't connect when run jhipster-registery in docker with cloud config server
- Unable to use spring-cloud-services-dependencies v3.5.1 HOT 2
- What to do with spring-cloud-services-starter-config-client? HOT 2
- Maven POM for spring-cloud-services-starter-config-client version 3.5.1 is invalid HOT 2
- Pivotal Spring Cloud Services Dependencies v3.5.0 - 401 - Unauthorized Error - when communicating with Config Server HOT 15
- OAuth2 properties are not present. HOT 1
- Legacy bootstrap fails with 401 response from the config-server. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spring-cloud-services-starters.