Nube Primavera Eureka aprendizaje de servicio de micro-arquitectura (b)

A, el perfil Eurake

springcloud componente central de Eureka es responsable de la arquitectura micro-servicio, funciones de gestión de servicio responsable para cada instancia de registro de servicio y el descubrimiento. 
Eureka incluye componentes de servidor y cliente. Servidor, también se conoce como un registro de servicios, al servicio de registro y descubrimiento. El componente de cliente incluye consumidores de servicios y los productores de servicios. En la aplicación se está ejecutando, los productores registrados en el ejemplo propio servicio de registro de servicios, cuando los consumidores deben llamar a este servicio, el registro comenzará a encontrar el productor correspondiente, entonces puede obtener el servicio del consumidor. 

La figura es un proceso relativamente simple consumo de servicios de registro, sino también un componente esencial de los procesos en ejecución Eureka, punto de Eureka en el lenguaje popular como un agente de bienes raíces, el propietario quiere alquilar una información Casa vinculado a los agentes inmobiliarios, agentes inmobiliarios y los inquilinos por renta de los recursos de información a la casa propia favorita

 

En segundo lugar, el proyecto para construir un registro Eurake

1. Crear un nuevo proyecto SpringBoot se muestra:

 

 

finsh punto siguiente en el último punto para completar la creación del proyecto

2. Importe Eureka dependiente, pom específica siguiente:

<? xml version = "1.0" encoding = "UTF-8"?> 
<xmlns proyecto = xmlns "http://maven.apache.org/POM/4.0.0": xsi = "http: //www.w3 .org / 2001 / XMLSchema instancia" 
         xsi: schemaLocation = "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion> 4.0.0 </ modelVersion> 
    <parent> 
        <groupId> org.springframework.boot </ groupId> 
        <artifactId> resorte de arranque-motor de arranque y los padres </ artifactId> 
        <versión> 2.2.6.RELEASE </ versión > 
        <relativePath /> <! - matriz de búsqueda desde el repositorio -> 
    </ parent> 
    <groupId> com.regedit </ groupId> 
    <artifactId> regedit </ artifactId> 
    <versión> 0.0.1-SNAPSHOT </ version> 
    <nombre> regedit </ name>
    <description> proyecto Demo para primavera Boot </ description> 

    <propiedades> 
        <java.version> 1.8 </java.version> 
        <primavera-cloud.version> Hoxton.SR3 </spring-cloud.version> 
    </ properties> 

    < dependencias> 
        <dependency> 
            <groupId> org.springframework.boot </ groupId> 
            <artifactId> resorte de arranque-motor de arranque en la web </ artifactId> 
        </ dependency> 
        <dependency> 
            <groupId> org.springframework.cloud </ groupId> 
            <artifactId> primavera-nube-motor de arranque-netflix-Eureka-servidor </ artifactId> 
        </ dependency>
        <dependency>  
            <groupId> org.springframework.boot </ groupId>
            <artifactId> resorte de arranque-motor de arranque-seguridad </ artifactId>
        </ dependency> 

        <dependency> 
            <groupId> org.springframework.boot </ groupId> 
            <artifactId> resorte de arranque-motor de arranque-test <artifactId /> 
            <scope> test </ scope> 
            <exclusiones> 
                <exclusión> 
                    <groupId> org.junit.vintage </ groupId> 
                    <artifactId> junit-vendimia-motor </ artifactId> 
                </ exclusión> 
            </ exclusiones> 
        </ dependency> 
    </ dependencias> 

    <DependencyManagement> 
        <dependencias>  
            <dependency>
                <groupId> org.springframework.cloud </ groupId> 
                <artifactId> resorte de nube dependencias </ artifactId> 
                <versión> $ {resorte cloud.version} </ versión> 
                <type> pom </ type> 
                <scope> importación </ scope> 
            </ dependency> 
        </ dependencias> 
    </ DependencyManagement> 

    <build> 
        <plugins> 
            <plug-in> 
                <groupId> org.springframework.boot </ groupId> 
                <artifactId> maven-primavera-boot-plugin </ artifactId> 
            </ plugin> 
        </ plugins>
    </ build> 

</ project>

3, se inicia la aplicación para añadir notas de clase EurekaServer, de manera que cuando se inicia SpringBoot, se iniciará registro EurekaServer

com.regedit empaquetar; 

org.springframework.boot.SpringApplication importación; 
org.springframework.boot.autoconfigure.SpringBootApplication importación; 
org.springframework.cloud.netflix.eureka.server.EnableEurekaServer importación; 

@SpringBootApplication 
@EnableEurekaServer 
RegeditApplication public class { 

    void main (String [] args) {public static 
        SpringApplication.run (RegeditApplication.class, args); 
    } 

}

4. Configurar application.property o application.yml, formato yml que utilizan aquí, los principales parámetros de configuración del registro de información de Eureka, Eureka cliente después de cada registro, enviará un latido del corazón en el lado del servidor. El valor por defecto Eureka propio servidor es un cliente, es necesario especificar registro, que registerWithEureka: fetchRegistry falsa: falsa representación en sí es un servidor de Eureka, es un centro registrado. La configuración es la siguiente:

servidor: 
  puerto: 8762 

Eureka: 
  ejemplo: 
    nombre de host: 127.0.0.1 
  servidor: 
    enable-auto-preservación: falsa 
    desalojo de intervalo del temporizador-en-EM: 3,000 
    respuesta-cache-update-intervalo-EM: 3,000 
    respuesta-cache-auto -expiration-en-segundos: 180 
  cliente: 
    registerWithEureka: falsa 
    fetchRegistry: falsa 
    ServiceUrl: 
      defaultzone: http: // {$ eureka.instance.hostname}: $ {} server.port / Eureka / 
registro: 
  config: ruta de clases: logback- spring.xml 
primavera: 
  la seguridad: 
    el usuario: 
      nombre: admin 
      contraseña: 123456

5. Para utilizar este http: // $ {usuario}: $ {password} @ $ {host}: $ {puerto} / Eureka / Registro de esta seguridad de primavera citado en la introducción de pom archivo spring-boot- código de autenticación de arranque de seguridad para abrir el paquete de la siguiente manera:

com.regedit empaquetar; 

org.springframework.security.config.annotation.web.builders.HttpSecurity importación; 
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity importación; 
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter importación; 


@EnableWebSecurity 
WebSecurityConfigurer clase pública se extiende WebSecurityConfigurerAdapter { 

    @ Override 
    protected void configure (HttpSecurity http) throws Exception { 
        //开启认证
        //为了可以使用http: // $ {usuario}: $ {password} @ $ {host}: $ { puerto} / Eureka /这种方式登录,所以必须是httpBasic 
        http.csrf () desactivar () authorizeRequests () anyRequest () autenticada () y () httpBasic ()......; 
    } 

}

6, esta configuración y el proyecto de construcción ha sido completado, inicie el código de programa de aplicación está estructurado de la siguiente manera:

7, visita: http: // localhost: 8762 Introduzca el nombre de usuario y la contraseña de la interfaz de la siguiente manera:

Tres, Eureka del lado del cliente para crear y registrar

1, el nuevo proyecto SpringBoot, dependencia de las importaciones, Pom servidor de archivos y el final de la misma aplicación de inicio anotaciones EurekaClient Agregar clase para indicar que se trata de un cliente, de la siguiente manera:

@SpringBootApplication 
@EnableDiscoveryClient 
clase pública SystemModuleJdbcApplication { 

   void Main (args String []) {public static 
      SpringApplication springApplication = new SpringApplication (SystemModuleJdbcApplication.class); 
        springApplication.addListeners (nuevos InitUserRoleResources ()); 
        springApplication.run (args); 
   } 
   

}

2. Añadir la configuración en el archivo de configuración, se registrará a un centro de registro designado a Eureka  

servidor: 
  puerto: 8081 
  servlet: 
    contexto-path: sistema / 
  max-http-header-size: 10240 
  Tomcat: 
    uri-Encoding: UTF-8 
    max-hilos: 500 
    max-connections: 10000 

config: 
  db: 
    IP: 127.0.0.1 
    puerto: 3306 
    nombre de usuario: root 
    contraseña: root @ 123456 
  regcenter: 
    IP: 127.0.0.1 
    prot: 8762 
    nombre de usuario: admin 
    contraseña: 123456 

#当前使用配置
primavera: 
  aplicación: 
    nombre: systemCenter 
  fuente de datos: 
    url: jdbc: mysql: // {$ config. db.ip}: $ {} config.db.port / system_module characterEncoding = UTF-8 y useSSL = false y allowMultiQueries = true 
    nombre de usuario: $ {} config.db.username 
    contraseña: $ {config .db.password} 
  servlet: 
    de varias partes: 
      max-file-size: 20 MB 
      max-petición-size: 100 MB 
de registro: 
  config: ruta de clases: logback-primavera-test.xml 
  
Eureka: 
  cliente: 
    register-con-eureka: la verdadera 
    fetch-registro : true 
    ##注册服务中心的配置
    servicio-url: 
      defaultzone: http: // {$ config.regcenter.username}: $ {} @ config.regcenter.password $ {} config.regcenter.ip: $ {config. regcenter.prot} / Eureka /

Dónde: defaultzone es el registro de direcciones, application.name es el nombre de la aplicación, entre la llamada de servicio de seguimiento es por lo general a través del nombre de la aplicación y la dirección de la aplicación de llamada.

3. Aplicación de inicio para ver el registro y encontró que este caso se ha registrado vinieron a este registro y ejemplos de nuestros servicios registrados básicamente completado, como se muestra a continuación:

 

 

 

 

Publicados 100 artículos originales · ganado elogios 26 · Vistas a 40000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_39643007/article/details/105223705
Recomendado
Clasificación