Comments (4)
Currently it's not possible, one endpoint per app definition I'm afraid.
It's an interesting idea though, since Tyk can be deployed load-balanced behind NGinX, the individual nodes would round-robin out to the hosts (which could essentially create a random pattern), so it might be better to assign targets randomly from the pool, at least we can hope for a standard distribution across endpoints that way.
Of course, running the API endpoint behind it's load balancer would would be a preferred option instead of trying to give Tyk load-balancing features (there's better, more mature kit out there to handle that sort of thing).
Alternatively, Tyk could be deployed on the same machine as the API endpoint, with the target URL being localhost, then these could be auto-scaled behind an ELB, you'd need to duplicate your app definition, but that could be done using the DB back-end option, then the only configuration that you would need to handle would be the Analytics purge, but you could tell all the nodes to not purge and have a dedicated analytics purge instance that does nothing but shovel data out of Redis.
I think I might be over-thinking it ;-)
It really depends on how you want to deploy tyk, as a self-contained application it is quite flexible and can adapt to many set ups.
What do you think?
from tyk.
OK, that's what I suspected.
The simplest scenario that I can see is:
Client -> Nginx_gateway(443) -> Tyk(8080) -> Nginx_upstream(8443) -> Endpoints(01-06)
Where Nginx_gateway(443), Tyk(8080) and Nginx_upstream(8443) are all running on a single VM and the endpoints are running in their six separate VMs.
In our case the application endpoints are IIS on Windows so it's not possible to consolidate to a single host.
from tyk.
I see, that makes sense.
There is the possibility of trying to compile Tyk for windows, but I believe some of the deps aren't 100% compatible, though it should be a target I guess, will put it on the list :-)
On 12 Nov 2014, at 19:31, Patrick M. Slattery [email protected] wrote:
OK, that's what I suspected.
The simplest scenario that I can see is:
Client -> Nginx_gateway(443) -> Tyk(8080) -> Nginx_upstream(8443) -> Endpoints(01-06)Where Nginx_gateway(443), Tyk(8080) and Nginx_upstream(8443) are all running on a single VM and the endpoints are running in their six separate VMs.
In our case the application endpoints are IIS on Windows so it's not possible to consolidate to a single host.—
Reply to this email directly or view it on GitHub.
from tyk.
Fixed in master - you can now round-robin load balance to multiple upstream services using
...
"enable_load_balancing": true,
"target_list": [
"http://server1",
"http://server2",
"http://server3"
],
In the proxy
section of the API Definition
from tyk.
Related Issues (20)
- [Q]: Adding more tests and increasing the Code Coverage HOT 4
- Double response from go plugin virtual endpoint HOT 1
- [TT-5070]Wrong HTTP status code when panic happens inside Go plugin HOT 1
- [TT-11223]ERROR: Tyk PUMP not able to connect to Redis Sentinels HOT 1
- Error with middleware in one gateway while other pods are working fine HOT 1
- KV Store config not read in tyk.conf (security.certificates.upstream) HOT 4
- User not authorized when using basic authentication HOT 1
- OAS API: transformRequestMethod.toMethod expects boolean instead of string HOT 1
- Automatic retries when there are specific errors from Upstream
- How to define proxy.listen_path as exact path? HOT 4
- HTTP/2 Continuation Frame Vulnerability
- graphql playground error for federation
- Add HTTP proxy support to MDCB
- Tyk cannot validate client certificates against a certificate authority HOT 2
- Profile Raw Editor cursor placement HOT 2
- Sd
- Sd HOT 1
- Support multiple JWKS sources / one source per OIDC provider/issuer
- [TT-12318] SSE Streaming is broken HOT 3
- Stream Request getting aborted after 2 minutes
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 tyk.