El rendimiento funcional y el diseño son los tres aspectos básicos del software de medición, y el código abierto Jivejdon es uno de los casos en los que estos tres se combinan perfectamente. ivejdon es un sistema de software verdadero, completo y completamente orientado a objetos. Actualmente es el sistema de foro de código abierto de alto nivel (Apache2.0) líder en China, y rastrea y aplica constantemente los últimos conceptos de diseño de software global (DDD y otras introducciones de PPT de fondo). Como reflejo de la dirección popular del diseño de software, es el foro de software más cercano a la computación en la nube en China. JiveJdon no es solo un foro común, integra publicaciones de blog. Puede seguir los temas de publicaciones de las personas y etiquetar categorías. El objetivo comercial de JiveJdon es Quora.
JiveJdon es un sistema de software complejo desarrollado independientemente basado en JdonFramework de acuerdo con la última filosofía de diseño extranjera "Domain-Driven Design" (DDD para abreviar) y las características de diseño de JiveJdon:
Nuevo modelado: método de diseño basado en modelos EvansDDD; verdadero diseño y programación OO; fácil y conveniente para agregar funciones, gran capacidad de mantenimiento Nueva arquitectura: los programas tradicionales se ejecutan de forma secuencial y sincrónica dentro de un hilo, lo cual no es adecuado para las CPU multinúcleo y distribuidas actuales. sistemas JiveJdon se basa en el nuevo modelo de concurrencia de eventos de JdonFramework, aprovecha al máximo las características de múltiples núcleos y subprocesos y, debido a que no tiene bloqueos, la concurrencia es más rápida.
Sistema de permisos separado: el sistema de permisos de autenticación de usuario está separado del núcleo comercial; la interfaz está separada del núcleo comercial y la base de datos está separada del núcleo comercial Buena escalabilidad: rendimiento excelente y rápido, gran escalabilidad y se puede expandir. a la plataforma informática de la nube de memoria, confiando en la memoria de JdonFramework La estrategia de optimización puede hacer frente a un acceso de carga concurrente elevado. Haga clic aquí para ver los casos que no consideran la optimización del rendimiento.
JiveJdon tiene buena escalabilidad, adopta una arquitectura multicapa completamente separada y puede equiparse con cualquier base de datos a través de un servidor J2EE. Al mismo tiempo, logra la verdadera separación entre la interfaz y la lógica empresarial, y los usuarios pueden diseñar sus propias plantillas de interfaz; a voluntad, que ya no es tan popular como lo es ahora. Algunos foros deben seleccionarse de las plantillas proporcionadas por el autor original del foro. JiveJdon adopta los estándares de diseño internacionales más avanzados para llevar los foros gratuitos a una nueva altura.
JiveJdon no es solo un programa de foro, su modelo de mensajes se puede reutilizar en ámbitos de dominios cruzados, como sistemas de contenido de sitios web, sistemas de lanzamiento de noticias, sistemas de comercio electrónico, sistemas de gestión de almacenes, sistemas de gestión de recursos (parte de los cuales ya se han implementado). Realización del campo de investigación de reutilización actual El nivel más alto de reutilización estática: reutilización de modelos de negocio. Artículos relacionados: Reutilización de software para adaptarse rápidamente a los requisitos cambiantes. Objetivo competidor GoogleAppEnginee.
Nuevo modelado
Jivejdon se desarrolló bajo la dirección de EvansDDD de acuerdo con el último método internacional basado en modelos, adoptando un método de programación de diseño y análisis orientado a objetos OO, abandonando el método tradicional de desarrollo basado en tablas de datos de modelado ER, y puede usarse como una muestra completa. Programa para aprender EvansDDD. Haga clic aquí para obtener más información sobre el modelado de dominios DDD.
El diagrama del modelo de dominio central de JiveJdon es el siguiente. El proceso de modelado proviene de DDD real (EvansDDD: Domain-DrivenDesign):
nueva arquitectura
La capa empresarial de JiveJdon adopta una arquitectura orientada a componentes con diseño de componentes dinámicos, que puede expandir nuevas funciones de manera fácil y conveniente sin causar errores. La secuencia de ejecución de los componentes comerciales tradicionales sigue la secuencia de llamada de código determinada durante la programación. La desventaja obvia es que pierde flexibilidad y no se puede configurar y ejecutar dinámicamente de acuerdo con las necesidades reales, por lo que no puede adaptarse más rápidamente a los cambios en las necesidades; combina componentes comerciales. La relación entre ellos se especifica en tiempo de ejecución. JiveJdon también muestra un caso de implementación de permisos generales basado en AOP.
La arquitectura del componente JiveJdon está diseñada de la siguiente manera:
Excelente rendimiento
JiveJdon se basa en el principio de diseño de caché de objetos, que mejora en gran medida la velocidad de ejecución y tiene buena escalabilidad. Puede utilizar la tecnología de memoria de computación en la nube de código abierto Terracotta para lograr potentes capacidades de procesamiento de la computación en la nube distribuida.
La muestra de prueba de jivejdon4.4 en 2011 (se puede abrir con Jmeter): jivejdon.jmx Resultado: informe de agregación.jmx Los últimos resultados de la prueba son los siguientes. Dado que la base de datos y otras operaciones se implementan mediante eventos asincrónicos, las operaciones de escritura, como las respuestas, se implementan. y las modificaciones posteriores se basan en la implementación del objeto del dominio de memoria, lo que mejora enormemente el rendimiento:
Características de la función en la nube
Similar a la búsqueda de texto completo de Google (un foro Compass + lucene solo puede convertirse en un bote de basura sin una búsqueda poderosa); implementación de permisos universales basados en EvansDDD; administración de complementos para todas las funciones comerciales; ; confiando en Jdon El marco tiene alto rendimiento y actualizaciones de contenido en tiempo real; tiene las características de un software antispam y tiene una función de rechazo para rastreadores web o arañas de robots de búsqueda que rastrean con frecuencia.