Herramientas de gestión de proyectos de software, tecnología de marco JAVA WEB (combinado con experiencia laboral real, todos los productos secos)


Prefacio

Combinando mis varios años de experiencia en gestión de equipos, compartiré las herramientas utilizadas en el proceso de desarrollo y el proceso de gestión de proyectos con todos. Todos son productos secos, y te sugiero que los recojas primero para que puedas encontrarlos más tarde.

Equilibrio de carga: Nginx + Keepalived

Inserte la descripción de la imagen aquí
Nginx + Keepalived: en el diseño de la arquitectura, el proxy inverso de NGINX y el equilibrio de carga se pueden utilizar para lograr una alta disponibilidad de las aplicaciones de back-end. Al mismo tiempo, también debemos considerar el punto único de falla de Nginx. Realmente logre una alta disponibilidad de arquitectura. La solución principal actual es keepalived + nginx para lograr la conmutación por error de nginx y el monitoreo y la alarma al mismo tiempo. Al mismo tiempo que se realiza la conmutación por error automática, se puede notificar a la persona responsable de la aplicación correspondiente para que verifique las aplicaciones relacionadas, solucione los peligros ocultos y resuelva por completo el problema.

Puerta de enlace unificada: getway

Spring Cloud Gateway es una puerta de enlace desarrollada por Spring oficial basada en las tecnologías Spring 5.0, Spring Boot 2.0 y Project Reactor. Spring Cloud Gateway tiene como objetivo proporcionar un método de administración de enrutamiento API simple, efectivo y unificado para la arquitectura de microservicios. Spring Cloud Gateway sirve como Spring Cloud La puerta de enlace en el ecosistema tiene como objetivo reemplazar a Netflix Zuul. No solo proporciona un método de enrutamiento unificado, sino que también proporciona las funciones básicas de la puerta de enlace basada en la cadena Filer, como seguridad, punto de monitoreo / compra y limitación de corriente.

Centro de configuración unificada: nacos

Inserte la descripción de la imagen aquí
Nacos admite el descubrimiento de servicios basado en DNS y RPC (que se puede utilizar como centro de registro de Springcloud), servicios de configuración dinámica (que se pueden utilizar como centros de configuración) y servicios de DNS dinámicos.
Nacos se compromete a ayudarlo a descubrir, configurar y administrar microservicios. Nacos proporciona un conjunto de funciones fáciles de usar para ayudarlo a realizar el descubrimiento dinámico de servicios, la administración de la configuración del servicio y la administración del tráfico y del servicio. Nacos lo ayuda a construir, entregar y administrar plataformas de microservicios de manera más ágil y sencilla. Nacos es una infraestructura de servicios para la construcción de arquitecturas de aplicaciones modernas (como el paradigma de microservicio, el paradigma nativo de la nube) centradas en "servicios".

Límite actual: centinela

Inserte la descripción de la imagen aquí
En escenarios de alta concurrencia, la mayoría de los cuellos de botella de concurrencia se encuentran en la base de datos. Para asegurar la robustez de la base de datos, en este momento, el límite de corriente de la interfaz debe realizarse desde la capa superior. Nginx también tiene una función de flujo limitado, pero solo puede limitar el flujo al nivel del proyecto. Sentinel se puede definir según el límite de corriente de nivel de interfaz, por lo que la granularidad del límite de corriente de Sentinel es más fina que Nginx. Sentinel se puede integrar con springboot de forma no intrusiva, y el número y la frecuencia de acceso a las interfaces que requieren limitación de corriente se pueden configurar en la interfaz.

Herramienta de diseño: Blue Lake

Inserte la descripción de la imagen aquí
Blue Lake es una plataforma para compartir documentos de productos y dibujos de diseño, que ayuda a los equipos de Internet a gestionar mejor los documentos y dibujos de diseño. Blue Lake puede mostrar Axure en línea, generar automáticamente notas de iconos de diseño, compartir dibujos de diseño con el equipo y mostrar la relación de salto entre páginas. Blue Lake admite el uso compartido con un solo clic y la discusión en línea de Sketch y Ps. Blue Lake puede convertir el diseño en un prototipo de demostración en el que se puede hacer clic en solo unos simples pasos. Blue Lake también admite compartir con colegas para que también pueda usar su teléfono móvil. Vea el efecto de diseño en. Blue Lake se ha convertido en una nueva generación de trabajo de diseño de productos.

Marco de interfaz de usuario: vue

Inserte la descripción de la imagen aquí
VUE: El objetivo es implementar el enlace de datos de respuesta y los componentes de vista combinados a través de la API más simple posible, que es muy fácil de aprender y fácil de integrar con otras bibliotecas o proyectos existentes. Después de varios años de comprensión, Vue es también la primera opción del 80% de las empresas de tecnología actuales. Vue es básicamente las habilidades necesarias entre los talentos de aprendizaje de front-end.


eruda: artefacto de depuración H5 para teléfonos móviles, especialmente páginas H5 integradas en cuentas oficiales y subprogramas de WeChat . Eruda es un panel de depuración diseñado para front-end móviles y terminales móviles, similar a la versión mini de Chrome DevTools (es cierto que no es tan potente como Chrome). Entre sus principales funciones se encuentran: capturar logs de la consola, verificar el estado de los elementos, mostrar indicadores de rendimiento, Capture solicitudes XHR, muestre información de cookies y almacenamiento local, detección de funciones del navegador, etc.
Por supuesto, también es muy simple de usar, solo agregue dos líneas de código al código HTML:

<script src="//cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>   

Inserte la descripción de la imagen aquí

Marco JAVA

Inserte la descripción de la imagen aquí

Springboot (muy recomendado para que todos lo usen): Spring Boot es un nuevo marco proporcionado por el equipo de Pivotal, y su propósito de diseño es simplificar la configuración inicial y el desarrollo de nuevas aplicaciones Spring. El marco utiliza una forma específica de configuración, de modo que los desarrolladores ya no necesitan definir una configuración estándar.


Inserte la descripción de la imagen aquí

mybatis: MyBatis es un excelente marco de capa de persistencia que admite SQL personalizado, procedimientos almacenados y mapeo avanzado. MyBatis evita casi todo el código JDBC y la configuración manual de parámetros y la obtención de conjuntos de resultados. MyBatis puede utilizar XML simple o anotaciones para la configuración y el mapa nativo, así como las interfaces de mapa y los POJOs de Java (Objetos Java antiguos simples, objetos Java ordinarios) en los registros de la base de datos.


Inserte la descripción de la imagen aquí
mybatisplus: no solo puede operar la base de datos para objetos como HIbernate, sino que también admite mybatis para escribir SQL nativo. Y puede generar automáticamente dao, servicio, adiciones, eliminaciones y métodos de capa de controlador de acuerdo con la tabla, lo que mejora en gran medida la eficiencia del desarrollo.

Cola de mensajes: rabbitmq

Inserte la descripción de la imagen aquí
En comparación con el middleware de mensajes múltiples N, rabbitmq finalmente se seleccionó como el middleware de mensajes desde múltiples dimensiones, como la estabilidad, la facilidad de uso y la actividad de la comunidad. Los principales escenarios de aplicación son: procesamiento asincrónico, procesamiento de registros, desacoplamiento de aplicaciones y recorte de picos de tráfico.

Base de datos NOSQL: redis

Inserte la descripción de la imagen aquí
Redis es un sistema de almacenamiento de valor clave, ahora se usa cada vez más en varios sistemas, en la mayoría de los casos se usa como caché debido a su alto rendimiento.

Marco de seguridad: shiro

Inserte la descripción de la imagen aquí

shiro: Apache Shiro es un marco de seguridad de Java diseñado para simplificar la autenticación y la autorización. Shiro se puede utilizar en proyectos JavaSE y JavaEE. Se utiliza principalmente para gestionar la autenticación de identidad, la autorización, la gestión de sesiones empresariales y el cifrado. Las funciones específicas de Shiro son las siguientes:
(1) Autenticación / inicio de sesión de identidad, para verificar si el usuario tiene la identidad correspondiente;
(2) Autorización, es decir, verificación de permisos, para verificar si un usuario autenticado tiene cierto permiso; es decir, para determinar si el usuario Puede hacer cosas como: verificar si un usuario tiene un rol determinado. O verificación detallada de si un usuario tiene cierta autoridad sobre un determinado recurso;
(3) Gestión de la sesión, es decir, después de que el usuario inicia sesión, es una sesión. Antes de cerrar la sesión, toda su información está en la sesión; la sesión puede ser normal El entorno JavaSE también puede ser como el entorno Web;
(4) Cifrado para proteger la seguridad de los datos, como cifrado de contraseña y almacenamiento en la base de datos en lugar de almacenamiento de texto sin formato;
(5) Soporte Web, que puede integrarse fácilmente en el entorno Web;
Almacenamiento en caché: el almacenamiento en caché, por ejemplo, después de que un usuario inicia sesión, no es necesario verificar su información de usuario y roles / permisos cada vez, lo que puede mejorar la eficiencia;
(6) Shiro admite la verificación simultánea de aplicaciones multiproceso, es decir, si un hilo se abre para otro Los subprocesos pueden propagar permisos automáticamente;
(7) Proporcionar soporte de prueba;
(8) Permitir que un usuario finja ser otro usuario (si lo permite) para acceder;
(9) Recuérdame, esta es una función muy común , Es decir, después de iniciar sesión una vez, no es necesario que inicie sesión la próxima vez.
Resumen: Le recomiendo encarecidamente que utilice este shiro, porque este seguimiento puede tener vulnerabilidades de seguridad no autorizadas paralelas, que se analizarán mediante pruebas de seguridad básicas. En el seguimiento, escribiré un tema especial sobre cómo resolver las vulnerabilidades de seguridad de ultra vires paralelos.

Herramienta de gestión de API: YApi

Inserte la descripción de la imagen aquí
YAPI: YApi es una plataforma de gestión de api eficaz, fácil de usar y potente que tiene como objetivo proporcionar a los desarrolladores, productos y evaluadores servicios de gestión de interfaces más elegantes. Puede ayudar a los desarrolladores a crear, publicar y mantener API fácilmente. YApi también proporciona a los usuarios una excelente experiencia interactiva. Los desarrolladores solo necesitan usar las herramientas de escritura de datos de la interfaz proporcionadas por la plataforma y las operaciones simples de clic para implementar la administración de la interfaz.
Resumen: Yapi está basado en la web, una herramienta de gestión de interfaz muy conveniente, una interfaz hermosa y clara. También es posible implementar un entorno de llamada simulado de la interfaz.

Herramienta de gestión de documentos: showdoc

Inserte la descripción de la imagen aquí
shodoc: Los programadores esperan que otros puedan escribir documentos técnicos, pero no quieren escribir documentos. Porque escribir un documento requiere mucho tiempo para procesar el formato y la composición tipográfica, pensando en varios detalles no técnicos, como dónde se coloca el nuevo documento de Word. Los documentos de Word se encuentran dispersos entre diferentes personas del equipo, quienes necesitan documentos básicamente confían en gritar y luego van a QQ o al buzón de correo para recibir los documentos lanzados por la otra parte. Este método de comunicación es ciertamente posible, pero no eficiente.
ShowDoc es una herramienta para compartir documentos en línea muy adecuada para los equipos de TI, ya que puede acelerar la eficiencia de la comunicación entre equipos.
Inserte la descripción de la imagen aquí

Herramienta de gestión de procesos de proyectos: jira

Inserte la descripción de la imagen aquí
jira: JIRA es una herramienta de seguimiento de proyectos y transacciones producida por Atlassian, ampliamente utilizada en seguimiento de defectos, servicio al cliente, recolección de demanda, aprobación de procesos, seguimiento de tareas, seguimiento de proyectos y gestión ágil. JIRA tiene una configuración flexible, funciones integrales, implementación simple y amplia expansión.

Herramienta de implementación automatizada: jekenis

Inserte la descripción de la imagen aquí
Jenkins es un proyecto de software de código abierto independiente, es una herramienta de integración continua basada en Java desarrollada para monitorear el trabajo repetitivo continuo, tiene como objetivo proporcionar una plataforma de software abierta y fácil de usar que haga posible la integración continua de software. El predecesor es Hudson, un motor de integración continua extensible. Se puede utilizar para automatizar diversas tareas, como crear, probar e implementar software. Jenkins se puede instalar a través del paquete de sistema nativo Docker, e incluso se puede ejecutar de forma independiente en cualquier máquina donde esté instalado Java Runtime Environment.
Se utiliza principalmente para:
construir / probar de forma continua y automática proyectos de software, como CruiseControl y DamageControl.
Supervise algunas tareas programadas.

herramientas de prueba


Herramienta de prueba de interfaz, cartero:
Inserte la descripción de la imagen aquí

La herramienta de depuración de la red del cartero, la herramienta de depuración de la página web, no solo puede depurar información básica simple como css, html, scripts, etc., ¡sino que también puede enviar casi todos los tipos de solicitudes HTTP! Se puede decir que Postman es uno de los productos representativos de los complementos de Chrome para enviar solicitudes HTTP de red.


Herramienta de prueba de rendimiento, jmeter:
Inserte la descripción de la imagen aquí
Apache JMeter es un software de herramienta de código abierto para escribir pruebas de función de carga y pruebas de rendimiento en Java puro. Comparado con Loadrunner, JMeter es pequeño, liviano y gratuito, y gradualmente se ha convertido en una herramienta de prueba de rendimiento convencional, y es una de las herramientas que todo evaluador debe dominar.


Herramienta de prueba de seguridad, BurpSuite:
Burp Suite es una herramienta de prueba de penetración integrada, que integra una variedad de componentes de prueba de penetración, de modo que podamos completar de forma automática o manual pruebas de penetración y ataques a aplicaciones web. En la actualidad, muchas herramientas de prueba de penetración profesionales y públicas para la seguridad de la red son BurpSuite.


Herramienta de captura de paquetes, fiddler:
Inserte la descripción de la imagen aquí

Fiddler (nombre chino: Violin) es un proxy de depuración HTTP. Supervisa el flujo de datos de la red Http del sistema en forma de servidor proxy. Fiddler puede o te permite comprobar todas las comunicaciones HTTP, establecer puntos de interrupción y todas las entradas y salidas de Fiddle "Los datos.

fiddler主要用途:
 1. http/https监测与分析
 2. 动态修改请求或回复
 3. 断点调试
 4. 自动回复
 5. 自定义脚本扩展

Sistema de monitorización: Grafana + zabbix

Grafana + zabbix: Nuestra empresa utiliza muchas herramientas de monitorización, y finalmente cree que zabbix es la mejor herramienta de monitorización. No solo puede monitorear información de hardware como la memoria, la CPU, la ocupación del disco, las tasas de lectura y escritura de E / S. También puede supervisar su propio sistema empresarial. Finalmente, integramos la información de monitoreo y alerta temprana en el robot Dingding para captar diversas anomalías del servidor en línea en tiempo real.
En el uso de zabbix, me pregunto si se ha encontrado con un escenario así: cuando queremos mostrar datos de gráficos a otros, lo encontraremos inconveniente, porque el tipo de gráfico de zabbix no es lo suficientemente rico y solo puede mostrar una pieza de datos al mismo tiempo (aunque Puede crear gráficos agregados, pero no es muy conveniente), por lo que cuando desea mostrarlos en una pantalla grande, no cree que sea apropiado. Creo que esto puede deberse a que zabbix sigue siendo un sistema de monitoreo de back-end, principalmente para el personal de operación y mantenimiento. Para compensar esta deficiencia, encontré un sistema de panel de control de terceros de código abierto: Grafana, que oficialmente admite la salida de datos zabbix de forma nativa. Además de admitir zabbix, también admite una gran cantidad de otros datos del sistema. Para obtener más información, consulte la biblioteca oficial de complementos de Grafana.
El siguiente es el resultado de nuestra integración de Grafana + zabbix.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/penggerhe/article/details/108225974
Recomendado
Clasificación