Commit Graph

58 Commits

Author SHA1 Message Date
sampengilly
a2b0b70b55 Added additional Gradle tip to Eureka Server documentation. Tip covers the usage of the spring dependency management plugin in order to prevent fatal crashes during application startup. 2015-03-16 21:05:52 +10:00
Dave Syer
9357bdd9db Remove log4j notes since Eureka no longer requires it 2015-03-13 17:15:08 +00:00
Dave Syer
0391cfff65 Allow streaming of multipart requests in Zuul proxy
It turns out that the suckiness of Zuul with multipart requests
comes almost entirely from the Multipart handling in Spring's
DispatcherServlet. This change makes the proxy routes available
on an alternative path /zuul/<normal_path> (where
/zuul is the default value of zuul.servletPath). I have
tested those with 800MB file uploads using the main method in
the FormZuulServletProxyApplicationTests and the main
observation is that there is no OutOfMemory error (no-one tries
to download the complete request body). It works with Ribbon
and with the simple (HttpClient) filter. With Ribbon you
will need to set some timeouts if you want to upload files
as large as that, e.g. see application.yml in the tests:

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000
ribbon:
  ConnectTimeout: 3000
  ReadTimeout: 60000

You need to set "Transfer-Encoding: chunked" in the
incoming request. Chrome does not do this by default
apparently, but I was able to test with curl, e.g.

$ curl -v -H "Transfer-Encoding: chunked" \
  -F "file=@mylarg.iso" \
  localhost:9999/zuul/direct/file

The old proxy paths through the DispatcherServlet are still
available (for backwards compatibility and for convenience of
having the paths available at the root of the context path).

Fixes gh-254
2015-03-13 16:55:30 +00:00
Dave Syer
164c9f8755 Add bintray properties 2015-03-06 10:48:29 +00:00
Dave Syer
e3a20d5d6b Update to next snapshot 2015-03-03 14:56:26 +00:00
Dave Syer
8ac43cca52 Add @*ConnectionFactory to qualify the preferred instance
If you are using AMQP there needs to be a ConnectionFactory (from
Spring Rabbit) in the application context. If there is a single
ConnectionFactory it will be used, or if there is a one qualified as
@[Hystrix,Turbine]ConnectionFactory it will be preferred over others,
otherwise the @Primary one will be used. If there are multiple
unqualified connection factories there will be an error.

See https://github.com/spring-cloud/spring-cloud-bus/issues/13
2015-02-27 12:32:41 +00:00
Spencer Gibb
9623c83885 added docs on exposing /hystrix.stream 2015-02-19 10:26:50 -07:00
Roy Clarkson
b6faa0e087 Fix spelling of 'broker' 2015-02-18 14:58:49 -08:00
Dave Syer
fadfc67f8f Add some more docs for Eureka metadata
Users need to know how to configure and use the Eureka
metadata because it isn't immediately obvious and does
require some decisions to be made.

Fixes gh-102
2015-02-16 10:31:36 +00:00
Spencer Gibb
3c8568942d added a little to s-c-n-turbine-amqp
fixes spring-cloud/spring-cloud-bus/issues/7
2015-02-14 13:24:57 -07:00
Spencer Gibb
4754a1e160 an attempt at some sidecar documentation
fixes gh-201
2015-02-13 14:45:30 -07:00
Dave Syer
c9b4761544 More defensive exception handling 2015-02-09 16:39:14 +00:00
Dave Syer
29383de8c1 Allow zuul.ignoredServices to be a pattern
and also allow explicitly configured services to be unignored. I.e.

zuul:
  ignoredServices: *
  routes:
    foo: /foo/**

Will expose only the foo service.

Fixes gh-198
2015-02-05 17:00:17 +00:00
Dave Syer
be0c2287ae Documentation for status page and health URL paths
The Eureka instance has to provide status page and health check
URLs. We only provide a sensible default if the app is a vanilla
Actuator. This change shows users explicitly how to customize those
settings.

Fixes gh-192
2015-02-04 15:57:45 +01:00
Dave Syer
00a951c1f1 Clarify status of @EnableEurekaClient
Fixes gh-194
2015-02-04 15:50:18 +01:00
Julien Roy
00b689f58a Add retryable property on Zuul route configuration
The ProxyRouteLocator now has a retryable property (default
null which means Ribbon will choose the default - usually false).

Fixes gh-115, fixes gh-124
2015-02-04 15:02:49 +01:00
Dave Syer
4c5179130e Add metadataMap option for Server.zone
Adds a metadataMap for the Server.zone so that user can
provide the data through external configuration if needed.
2015-02-03 12:13:21 +01:00
Dave Syer
6dc0bd5f5e Refactor @FeignClient to use name= or url= but not both
Replaces the boolean flag (loadbalance) for switching between service
resolution (by name) or straight URL bashing.
2015-01-29 17:40:56 +00:00
Dave Syer
e100207e8a Clarify and document some Feign stuff 2015-01-29 17:39:59 +00:00
Spencer Gibb
a739884207 added preferIpAddress section to eureka and updated ribbon docs to show what beans are created by default and how to override them. 2015-01-29 09:55:17 -07:00
Spencer Gibb
f1bd9bdfaa Merge branch 'polish' of https://github.com/philwebb/spring-cloud-netflix into philwebb-polish
Conflicts:
	spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignClient.java
	spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/feign/FeignClientScan.java
	spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/zuul/filters/route/RibbonRoutingFilter.java
	spring-cloud-netflix-turbine-amqp/src/test/java/org/springframework/cloud/netflix/turbine/amqp/AggregatorTest.java
2015-01-15 11:04:47 -07:00
Dave Syer
e2e09c4616 Default turbine.amqp.port to server.port and allow Actuator endpoints
This change adds an ApplicationListener that sets some high priority
properties in the Environment to allow server.port and management.port
to keep their usual meaning, but have server.port apply only to turbine.
Actuator endpoints can be enabled with management.port (different to
server.port otherwise there will be a conflict between Netty and Tomcat).

Fixes gh-143, fixes gh-140
2015-01-15 15:34:58 +00:00
Phillip Webb
be436279cf Polish POM files 2015-01-14 13:04:26 -08:00
Dave Syer
33b05a5018 Add docs for Ribbon and Feign 2014-12-26 14:55:13 +00:00
Spencer Gibb
f2c112f9ad updated turbine docs to show the need to uppercase turbine.aggregator.clusterConfig
fixes gh-84
2014-12-19 14:48:38 -07:00
Spencer Gibb
e7956e199e updated feign docs to use new @FeignClient*
fixes gh-111
2014-12-18 12:04:27 -07:00
Roy Clarkson
75ff9540bb Fix typos in README 2014-12-16 12:28:38 -06:00
Dave Syer
311d87885c Re-instate @EnableZuulServer and simplifiy configuration a bit
With this change users can elect not to install the proxy features
but still have a Zuul server with @Beans of type ZuulFilter added
automatically.

Fixes gh-104
2014-12-16 09:00:28 +00:00
Dave Syer
16c25a2875 Clarify that path to dashboard doesn't require "index.html"
See gh-51
2014-12-12 11:34:15 +00:00
Dave Syer
a2fade98a5 Change docs path in README 2014-12-11 15:41:36 +00:00
Roy Clarkson
64c447f0cb Fix Travis CI image and link in README 2014-12-10 13:50:26 -06:00
Spencer Gibb
b7db65863f rename FeignConfigurer to FeignConfiguration
fixes gh-91
2014-12-05 12:23:02 -07:00
Dave Syer
fc0aac3b01 Add paragraph in docs about eureka instance id
Fixes gh-63
2014-12-04 18:00:54 +00:00
Dave Syer
dfae445499 Strip prefixes from zuul routes by default
The default behaviour is now to strip the prefixes (global and
route-specific) by default. E.g.

zuul:
  prefix: /api
  routes:
    customers: /customers/**

Will forward /api/customers/101 to /101 on the customers service

See gh-43
2014-12-04 11:55:57 +00:00
Dave Syer
2cdcd767ac Move some of the routing logic into the route locator
We now support prefix stripping per service, e.g.

zuul:
  routes:
    customers:
      path: /customers/**
      stripPrefix: true

Will route /customers/101 -> /101 (on the customers service)

See gh-77
2014-12-03 10:51:17 +00:00
Dave Syer
34f277b816 Add ZuulRoute as values object in zuul.routes
User can now specify zuul.routes.*.{path,url,serviceId} (with
"url" and "serviceId" mutually exclusive (and "location" is a
synonym) separately, or can use a one-one short form, like the
old style.

See gh-77
2014-12-03 10:31:09 +00:00
Spencer Gibb
75addf04d3 change zuul implementation to be controller/handler mapping based.
This allows mappings to be at the root and not have to be prefixed.  It also allows mappings to fall through to other handler mappings.  Patterns are now Ant-style via AntPathMatcher.

fixes gh-72
2014-11-25 15:48:30 -07:00
Spencer Gibb
79db27226f added documentation for zuul options.
fixes gh-68
2014-11-24 11:26:37 -07:00
Dave Syer
d2cfcb0c2d Fix formatting 2014-11-22 17:01:21 +00:00
Scott Frederick
151ae8e6e1 Fixed formatting in docs. 2014-11-20 12:56:25 -06:00
Dave Syer
ed053e9b9b Add contributing section to README 2014-11-17 10:29:14 +00:00
Spencer Gibb
0f573dfe94 Added notes about how to configure @HystrixCommand and where to go to find out more information.
fixes gh-58
2014-11-05 18:18:04 -07:00
Spencer Gibb
1cd06e657e Don't swallow execeptions with zuul by reusing the spring boot error facilities.
fixes gh-40
2014-11-05 18:08:23 -07:00
Spencer Gibb
f215c52f3c updated docs to reflect that feign will now handle Generics 2014-11-05 13:37:19 -07:00
Dave Syer
bebcf66041 Add some documentation on DiscoveryClient
and how to use it. In particular you can't use it before the
ApplicationContext is past phase=0 of lifecycle startup.

Fixes gh-48
2014-11-05 17:25:34 +00:00
Spencer Gibb
e2e193eaa7 added support for standalone zuul server with @EnableZuulServer.
Removed old zuul module.

fixes gh-14
2014-11-04 15:17:35 -07:00
Dave Syer
c67caa2b2f Update README with building section 2014-10-31 15:59:33 +00:00
Spencer Gibb
ce5b1bbbfb allow customization of turbine clusterName via SPEL expression in applcation.properties.
Fixes gh-49
2014-10-30 19:41:53 -06:00
Spencer Gibb
766ac6b852 add a bit of turbine documentation 2014-10-30 18:38:27 -06:00
Christian Dupuis
d715ec570f Add paragraph to documentation about Hystrix /health endpoint 2014-10-28 13:10:16 +01:00