Compartir tecnología

Construcción del proyecto Spring Cloud

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

División de servicios:

1. Principio de responsabilidad única: en una arquitectura de microservicio, un servicio solo debe ser responsable de una función o área comercial. Cada servicio debe tener definiciones y límites claros y centrarse únicamente en su propia área comercial específica.

2. Autonomía del servicio: la autonomía del servicio significa que cada microservicio debe tener un alto grado de autonomía, es decir, cada servicio debe poder desarrollarse, probarse, construirse, implementarse y operarse de forma independiente.

3. Dependencia unidireccional

Debe haber una dependencia unidireccional entre los microservicios, y las dependencias circulares y bidireccionales están estrictamente prohibidas.

Dependencia circular: A->B->C->A

Dependencia bidireccional: A->B,B->A

Ejemplo:

1. Lista de pedidos

2. Lista de productos

Servicio de pedido: proporcione el ID del pedido y obtenga los detalles del pedido

Servicio del producto: devolución de detalles del producto según el ID del producto

Al consultar información de pedido basada en un pedido, obtenga detalles del producto según el ID del producto en el pedido.

lograr:

Idea de implementación: el servicio de servicio de pedidos envía una solicitud http al servicio de servicio de productos, fusiona el resultado devuelto con el resultado del pedido y se lo devuelve a la persona que llama.

Método de implementación: uso de RestTemplate proporcionado por Spring

1. Definir plantilla de descanso

@Configuración

clase pública BeanConfig{
@Frijol

RestTemplate público restTemplate{

devuelve nueva RestTemplate();

      }

}

2. Utilice restTemplate en el controlador de pedidos

RestoPlantilla:

Descansar(Representacional STatar yoranfer) representa la transferencia del estado de los recursos de la capa

Recursos: los datos en Internet, como imágenes, videos, textos, etc., son todos recursos.

Capa de presentación: la forma de representación de los recursos (por ejemplo, la forma de representación del texto es txt, la forma de representación de la imagen es jpg y algunos recursos se expresan en json, xml o binario, etc.)

Transferencia de estado: cuando accedemos a recursos a través de la red y realizamos (agregamos, modificamos, eliminamos, etc.) los recursos, hará que el estado del recurso cambie. En pocas palabras: REST describe una forma de interacción entre el Cliente y el Servidor en. La red REST en sí no es práctica. Cómo diseñar una API REST (interfaz de red de estilo REST).

El estilo relajante generalmente tiene las siguientes características:

1. Recursos

2. Interfaz unificada: para operaciones sobre recursos, como obtener, crear, modificar y eliminar, estas ventanas corresponden a los métodos GET, POST, PUT y DELETE proporcionados por el protocolo http. En otras palabras, si utiliza una interfaz de estilo RESTful. , desde la interfaz Solo puede ubicar sus recursos, pero no tiene forma de saber qué operaciones ha realizado. Necesita saber específicamente qué operaciones se han realizado y juzgarlas a partir del tipo de método de solicitud http (por ejemplo: la misma URL). : GET/blog/{blogId }: Consultar blog DELETE/blog/{blogId} Eliminar blog)

Desventajas de la API RESTful:

1. El método de operación es engorroso. La API RESTful generalmente distingue las acciones de operación en los recursos según GET, POST, PUT y DELETE.
El método HTTP no se puede observar directamente y debe observarse a través de herramientas como la captura de paquetes. Será más intuitivo si la acción se coloca en la URL.
Es más propicio para la comprensión y la comunicación del equipo.
2. Algunos navegadores no son muy amigables para admitir solicitudes distintas de GET y POST y requieren procesamiento adicional.
3. Énfasis excesivo en los recursos Sin embargo, las necesidades comerciales reales pueden ser más complejas y no pueden satisfacerse simplemente agregando, eliminando, modificando y buscando.
La API RESTful aumentará la dificultad y el costo del desarrollo.

Hay un problema con el proyecto.
1. Al llamar de forma remota, la IP y el número de puerto de la URL están codificados (http://127.0.0.1:9090/product/). Si cambia la IP, debe modificar el código.
código
2. ¿Cómo puede la persona que llama no confiar en la IP del proveedor de servicios?
3. Despliegue de múltiples máquinas, ¿cómo compartir la presión?
4. Al realizar llamadas remotas, es muy fácil escribir la URL incorrecta y la reutilización no es alta. ¿Cómo implementar llamadas remotas de manera elegante?
5. Todos los servicios pueden llamar a esta interfaz. ¿Existe algún riesgo?