JWW architecture distribuée basée sur springboot + Dubbo

avant-propos

JWW basée sur l'infrastructure distribuée, y compris mais sans s'y limiter à une architecture distribuée, cadre de base, des modèles frontaux, génération de code, le système de surveillance et d'autres fonctions, est engagé à fournir entreprise J2EE complète dans le domaine des affaires et le développement itératif rapide est en plein essor niveau des spécifications techniques et des solutions de développement.

projet

  • JWW est une architecture de système distribué du langage Java. Utilisez SpringBoot intégrer frameworks open source.
  • Maven grâce à la gestion modulaire et d'améliorer la facilité de développement, l'expansion du projet.
  • Le système se compose de cinq sous-modules: une fonction publique, gestion de plate-forme, la page du projet, la plate-forme de gestion unifiée, la description du projet.
  • Fonction publique: Fonction publique (classes de base, les composants d'accès aux données, lecture séparée et écriture, séance distribuée, HTTP client, service de journalisation, service de file d'attente, les composants de service de paiement, Redis mise en cache, la sécurité Web, etc.), des outils de configuration communs.
  • Système de gestion: y compris la gestion des utilisateurs, la gestion ministérielle, la gestion des menus, gestion des rôles, la gestion du dictionnaire, gestion des paramètres, gestion des journaux, la surveillance des applications, et ainsi de suite.
  • liés à l'activité: micro-canal / Alipay.
  • Système de communication: sous-système de support étendu Dubbo utilisé pour la communication entre les sous-systèmes ou MQ.

La fonction principale

  • Base de données: mise en commun de connexion de base de données Druide, la surveillance des performances d'accès aux bases de données, les statistiques de performance d'exécution SQL.
  • La persistance couche: mybatis la persistance, à l'aide mybatis-Plus optimisé pour réduire la quantité de sql de développement; AOP lecture séparée et base de données de commutation d'écriture. affaires commentaire de Transtraction.
  • MVC: Basé sur l'annotation de printemps mvc, le style Rest Controller. Exception gestion unifiée.
  • Cache et session: Redis annotation de données de cache, printemps-session et la session distribuée Redis parvenir à la synchronisation, redémarrez la session de service ne soit pas perdu.
  • Synchronisation des données: Sur la base Distributed Lock Redis.
  • Sécurité Web: Mettre en uvre le filtrage et le filtrage XSS RSE.
  • Interaction multi-système: Dubbo, ActiveMQ interaction multi-système.
  • séparés avant et arrière: ajax reste le service d'accès frontal back-end, le retour d'extrémité arrière des données au format JSON. Inverser la page proxy pour accéder à nginx.
  • fonctions de paiement: micro-canal et le client Alipay.
  • Se connecter: Logback imprimer le journal, l'impression par défaut et les journaux brièvement service Web.
  • Outils: traitement de chaîne, le type de conversion, la date de traitement et le fichier IO, lecteur Excel, chiffrement et de déchiffrement, HTTP client, traitement XML, transcoder, et si divers Util.
  • Code Generator: structure de la table de base de données générée selon un simple code de fonction CRUD, y compris le modèle, cartographe, service, contrôleur.
  • Sélection de la technologie

    cadre de base: Spring Boot 1.5.12.RELEASE + Dubbo 2.5.7 Services Distributed Coordination: ZooKeeper 3.4.11 cadre de validation: Hibernate Validator 5.3.5.Final cadre de sécurité: Apache 1.4.0 Shiro génération de code: mybatis Plus générateur 2.1.6 framework de persistance: mybatis 3.4.5 + mybatis-Plus 2.1.6 pool de connexions de base de données: Alibaba Druide 1.1.9 cadre de la mise en cache: Redis.clients: Jedis 2.8.2 cadre de file d'attente: Apache ActiveMQ 5.14.5 Gestion de la session: printemps-session 1.3.1 Log Management: SLF4J cadre frontal: 02/02/45 Layui ensemble d'outils publics: Hutool 3.2.3 composante de paiement: Egan pay-java-2.0.7 parent Code simplifié: Lombok 16/01/20 séquences d'ossature: Alibaba Fastjson 02/01/41 client HTTP: http Hutool-4.0.10 framework de test Interface: Swagger2 icône Polices: Alibaba Iconfont JWT: jsonwebtoken 0.9.0

    Structure du projet

    JWW jww-common module commun jww-tronc commun des éléments de base jww-db-commune Data Access Components jww-common-MDB composants de source de données multi session, distribué jww-common dsession jww-commun-http HTTP client jww-common-jwt JWT ensemble jww-log de service commun de journal jww-mq-commune service de file d'attente jww-common-oss ensemble de stockage d'objets jww-payer de commune Alipay / composante de paiement micro-canal jww-common Redis service Cache composants jww-navire de service commun de messagerie jww-Web commun de montage WEB module de page jww-ui jww-ui-ump page plate-forme de gestion unifiée jww-projet de plate-forme ompe de gestion unifiée projet commun jww-ump de l'assemblée publique jww-ump-dao module d'accès aux données du projet jww-générateur-ump générateur de code de programme projet jww-modèle ump module MODEL jww-UMP-mq module de file d'attente de l'article jww-UMP-RPC-api module d'interface du projet module arrière-plan du projet jww-ump-rpc service jww-UMP-serveur module de commande de réception de programme sqls projeter des instructions SQL

    La carte de la technologie de base

    Figure Infrastructure

    déploiement local

  • exigences environnementales
    • JDK1.8 +
    • MySQL5.5 +
    • Maven3.3 +
    • Zookeeper3.3 +
    • Redis3.0 +
    • Nginx1.8 +
    • Apache ActiveMQ 5.0 + (facultatif)
  • Exécuter fichier SQL JWW / JWW-ump / sqls / jww.sql, initialisation de la bibliothèque, et des tables de données;
  • Modifier JWW / JWW-ump / JWW-ump-rpc service / src / main / ressources / application dev.yml, compte de mise à jour le mot de passe MySQL, Redis de IP, le port et le mot de passe, adresse Zookeeper;
  • Modifier JWW / JWW-ump / JWW-serveur ump / src / main / ressources / application dev.yml, mise à jour Redis l'IP, le port et le mot de passe, adresse Zookeeper;
  • Modifier Nginx / conf / nginx.conf, spécifiez la statique et l'adresse de la page dynamique (voir l'annexe);
  • Démarrer MySQL, Zookeeper, Redis, Nginx;
  • IntelliJ IDEA menu File-Paramètres-Plugins, ajouter lombok plug-in plug-in
  • Droit IntelliJ IDEA > >  Exécuter JWW / JWW-ump / JWW-ump-rpc service / src / main / java / com / JWW / ump / rpc / services / ServiceApplication.java;
  • Droit IntelliJ IDEA > >  Exécutez JWW / JWW-ump / JWW-serveur ump / src / main / java / com / JWW / ump / serveur / ServerApplication.java;
  • Adresse d'accès: http: // localhost mot de passe: admin / 123456
  • Adresse de fanfaronnades: http: // localhost: 8089 / fanfaronnades-ui.html
  • Plan de suivi (dans l'ordre alphabétique):

    SSO d'authentification unique sur le service Périphérie recherche en texte intégral Temps de planification distribuée Version printemps-nuage internationale introduction de conteneurs Docker

    avant-première

    190616 nouvelle variété n'est pas diffusé une grande popularité personnelle augmenter Wangjun Kai a remporté réseau d'artistes influents du championnat
    Précédent
    Autour de 190616 magicien Wang Junkai des années enfance magicien entreprise Kay
    Prochain
    Quatre versions de Wang Yuyan, les trois premiers sont belles, la dernière fille de la campagne comparable
    le plus beau visage de drame costume de Hong Kong 8, liste Ada Choi, Gigi 2, 1er mérité
    « TFBOYS « » Nouvelles de 190616 magicien Wang Junkai des années d'enfance, la répartition de ce magicien entreprise Kay
    mise à jour de la version « Union Heroes »: l'arrivée d'un nouveau héros des éléments de la Reine, ainsi qu'une variété de peau de jeux vidéo
    La sauce de soja est pas trop difficile pour les superstars, de plain-pied sur le grand café-gagnant, l'inventaire des pièces de bits la plus forte
    Jingdong 618 a marqué le début d'un nouveau cycle du cycle occasion ThinkPad développement de cinq ans pleine de vigueur juvénile
    Six belle actrice "Liu", Liu Yifei 3, Shi, deuxièmement, un regrettable
    l'incident Huawei a exposé le complot de la cyber-guerre des États-Unis que « cinq mesures » 360
    « Got7 » « Partager » 190616 Mark Tuan a ajouté un nouveau tatouage chiffre romain côtes droites correspondent respectivement des parents de naissance
    Natalie n'a pas entrer dans le top trois, Jen Chiou choisissent de prendre leur retraite, seulement elle est reconnue comme la plus belle Miss Hong Kong
    "Got7" "Partager" Liu ...... 190616 durian? Ce don est ainsi noyau dur dans le concert?
    Super League - Vieira a fait pour briser le point de la sécurité nationale de + 4-1 renversement du Swaziland neuf d'affilée à domicile