Winter Eureka: Service Discovery Module
Winter Eureka connects Winter Boot applications to a service registry. It supports both Consul.io and Netflix Eureka, and requires the swoole PHP extension.
-
Install the prerequisites
Winter Eureka requires the
swoolePHP extension plus thesuvera/winter-eurekapackage. Follow the Installation guide (Docker is recommended) to set them up. -
Enable the module
Append the following block to your
application.yml:application.yml modules:- module: dev\winterframework\eureka\EurekaModuleenabled: trueconfigFile: eureka-config.ymlThe
configFilevalue is a file path, either relative to the config directory or an absolute path.
eureka-config.yml
Section titled “eureka-config.yml”Create eureka-config.yml in your config directory. The file supports configuring connections for both Consul.io and Netflix Eureka.
# Consul.ioconsul: - name: consulBean01 serviceUrl: http://127.0.0.1:8500 authType: Basic credentials: credentialFile: dataCenter: waitTimeSecs: consulToken: consulTokenFile: ignoreSsl: caFile: certFile: keyFile:
# Netflix Eurekaeureka: - name: netflixBean01 serviceUrl: http://localhost:8761/eureka authType: Basic credentials: credentialFile: ignoreSsl:Autowiring
Section titled “Autowiring”Each entry in eureka-config.yml becomes a bean named after its name. Autowire it by that name:
#[Autowired('consulBean01')]protected DiscoveryClient $discoveryClient;
#[Autowired('netflixBean01')]protected EurekaClient $eurekaClient;For details on the module system, refer to The Module System.