mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-06-19 07:08:14 +08:00
Feature/steeltoe (#324)
* #262 - Integrated Steeltoe Service Discovery with Ocelot for review. * messing around * seems to be working with eureka * acceptance test passing with external lib references * #262 support for netflix eureka service discovery thanks to pivotal * #262 fixed warnings
This commit is contained in:
@ -52,4 +52,37 @@ If you are using ACL with Consul Ocelot supports adding the X-Consul-Token heade
|
||||
"Token": "footoken"
|
||||
}
|
||||
|
||||
Ocelot will add this token to the consul client that it uses to make requests and that is then used for every request.
|
||||
Ocelot will add this token to the consul client that it uses to make requests and that is then used for every request.
|
||||
|
||||
Eureka
|
||||
^^^^^^
|
||||
|
||||
This feature was requested as part of `Issue 262 <https://github.com/TomPallister/Ocelot/issue/262>`_ . to add support for Netflix's
|
||||
Eureka service discovery provider. The main reason for this is it is a key part of `Steeltoe <https://steeltoe.io/>`_ which is something
|
||||
to do with `Pivotal <https://pivotal.io/platform>`_! Anyway enough of the background.
|
||||
|
||||
In order to get this working add the following to ocelot.json..
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
"ServiceDiscoveryProvider": {
|
||||
"Type": "Eureka"
|
||||
}
|
||||
|
||||
And following the guide `Here <https://steeltoe.io/docs/steeltoe-discovery/>`_ you may also need to add some stuff to appsettings.json. For example the json below
|
||||
tells the steeltoe / pivotal services where to look for the service discovery server and if the service should register with it.
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
"eureka": {
|
||||
"client": {
|
||||
"serviceUrl": "http://localhost:8761/eureka/",
|
||||
"shouldRegisterWithEureka": true
|
||||
}
|
||||
}
|
||||
|
||||
Ocelot will now register all the necessary services when it starts up and if you have the json above will register itself with
|
||||
Eureka. One of the services polls Eureka every 30 seconds (default) and gets the latest service state and persists this in memory.
|
||||
When Ocelot asks for a given service it is retrieved from memory so performance is not a big problem. Please note that this code
|
||||
is provided by the Pivotal.Discovery.Client NuGet package so big thanks to them for all the hard work.
|
||||
|
||||
|
Reference in New Issue
Block a user