Dies ist ein Memo, als ich den Inhalt der folgenden Site studiert habe.
Eureka Client
Grundsätzlich sind fast keine Einstellungen erforderlich. Wenn "Spring-Cloud-Starter-Netflix-Eureka-Client" in der Abhängigkeit in Gradle usw. enthalten ist. AutoConfigure funktioniert und richtet es ein
build.gradle(Nur Auszug aus Abhängigkeiten)
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
implementation('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
Geben Sie den Eureka-Server an
application.yml
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
Der Anwendungsname lautet außerdem "spring.application.name". Anders als oben ist die Standardeinstellung grundsätzlich OK Wenn Sie es ändern möchten, wird der Standardwert unten festgelegt, sodass eine Anpassung erforderlich ist (geben Sie "eureka.instance" an. * "Bei der Einstellung in application.yml).
Eureka Server
Abhängigkeiten wurden "Spring-Cloud-Starter-Netflix-Eureka-Server" hinzugefügt AutoConfigure funktioniert durch Angabe von @EnableEurekaServer
@SpringBootApplication
@EnableEurekaServer
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
application.yml
server:
port: 8761
Beim Start wird die Verwaltungskonsole durch Zugriff auf "http: // localhost: 8761" geöffnet. Es gibt einen Client, der diesen Server in "eureka.client.serviceUrl.defaultZone" in application.yml angibt Wird auf der Konsole angezeigt, wenn sie ausgeführt wird
Ribbon Client Load Balancer, der über HTTP und TCP ausgeführt wird Wird verwendet, wenn der Client den Client anruft usw. Jedes Menüband hat einen Namen und wird in "RibbonClientConfiguration" festgelegt Mit der Multifunktionsleiste können Sie den Dienstnamen direkt in der URL angeben, z. B. http: // hoge-service / api. Durch die Einführung von Ribbon ist es möglich, die URL des Dienstnamens in RestTemplate zu beschreiben, der REST-API von Spring.
Org.springframework.cloud: spring-cloud-Starter-netflix-ribbon
zu Abhängigkeiten hinzugefügt
Wenn Sie RibbonClient festlegen möchten, gehen Sie wie folgt vor
@Configuration
@RibbonClient(name = "custom", configuration = CustomConfiguration.class )
public class RibbonConfiguration {
}
Der Inhalt der benutzerdefinierten Konfiguration wird mit dem in "RibbonClientConfiguration" festgelegten Inhalt überschrieben Andere Einstellungen in Bezug auf Multifunktionsleiste können durch Festlegen der folgenden Beans überschrieben werden.
↓ Es sieht wie folgt aus
@Configuration
protected static class FooConfiguration {
@Bean
public ZonePreferenceServerListFilter serverListFilter() {
ZonePreferenceServerListFilter filter = new ZonePreferenceServerListFilter();
filter.setZone("myTestZone");
return filter;
}
@Bean
public IPing ribbonPing() {
return new PingUrl();
}
}
Wenn Sie die Standardeinstellung für alle Multifunktionsleistenclients festlegen möchten Verwenden Sie defaultConfiguration
@RibbonClients(defaultConfiguration = DefaultRibbonConfig.class)
public class RibbonClientDefaultConfigurationTestsConfig {
public static class BazServiceList extends ConfigurationBasedServerList {
public BazServiceList(IClientConfig config) {
super.initWithNiwsConfig(config);
}
}
}
@Configuration
class DefaultRibbonConfig {
@Bean
public IRule ribbonRule() {
return new BestAvailableRule();
}
@Bean
public IPing ribbonPing() {
return new PingUrl();
}
@Bean
public ServerList<Server> ribbonServerList(IClientConfig config) {
return new RibbonClientDefaultConfigurationTestsConfig.BazServiceList(config);
}
@Bean
public ServerListSubsetFilter serverListFilter() {
ServerListSubsetFilter filter = new ServerListSubsetFilter();
return filter;
}
}
** Eureka verwaltet Client-Informationen mithilfe der Multifunktionsleiste, die die oben genannten Einstellungen überschreibt. **
Zuul Zuul ist eine Bibliothek, die als Edge-Service zwischen jedem Service und dem Client positioniert ist und wie ein Gatekeeper des Systems fungiert. Es gibt verschiedene Verwendungszwecke wie Sicherheitsüberprüfung vor dem Aufrufen des Dienstes, Datenkonvertierung, einmaliges Anmelden, Umschreiben von URLs usw. Da es als Reverse-Proxy-Rolle verwendet werden kann, wird nur der Dienst verfügbar gemacht, auf den Zuul nach außen angewendet wird Kann den direkten Zugriff auf andere Dienste verhindern
Org.springframework.cloud: spring-cloud-Starter-netflix-zuul
zu Abhängigkeiten hinzugefügt
Aktiviert durch Anwenden von @EnableZuulProxy auf die SpringBoot-Hauptklasse
@EnableDiscoveryClient
@EnableZuulProxy
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Kann mit application.yml geroutet werden Das folgende Beispiel gibt an, dass eine Anfrage in XXX / apples / ** an apple weitergeleitet werden soll
application.yml
zuul:
routes:
apple: /apples/**
Spring Cloud Netflix mit Spring Boot 2.0 -Hystrix- Bericht der Spring Special Study Group (Teil 2)
Recommended Posts