Maison > Article > base de données > Quelle est l’architecture technique de la plateforme e-commerce MySQL ?
1. Suite de normalisation de la plateforme de commerce électronique
A. Système de centre commercial
1. Paramètres : paramètres de synchronisation du compte ; paramètres de notification des messages ;
2. Produit : gestion des catégories ; gestion des produits ; espace photo ; 3. Magasin : gestion du magasin ; nom de domaine de deuxième niveau ; pré-dépôt; Paramètres de liaison de partage; 5. Transaction: gestion des remboursements; gestion des rapports d'investissement et de démontage; 6. articles ; navigation sur les pages ; gestion de la page d'accueil ; position de recommandation ; 7. Fonctionnement : gestion des achats de groupe ; analyse des produits ; ;analyse marketing ;B. Circle (BBS)
Paramètre du titre des membres ; gestion de la classification des cercles ; gestion des rapports des membres du cercle ; système de gestion)Gestion du CMS ; gestion des articles ; classification des images ; gestion des balises ;
Paramètres de téléchargement des images de la page d'accueil ;2. Architecture technique de la plateforme de commerce électronique
A. Serveur d'application
1. Serveur front-end (complète principalement la réponse de l'utilisateur), serveur back-end (complète principalement le traitement des données) 2. Nginx in It fonctionne bien en matière d'allocation de mémoire et utilise plusieurs threads pour gérer les requêtes, permettant de partager les ressources mémoire entre plusieurs threads, réduisant ainsi considérablement l'utilisation de la mémoire. De plus, nous adoptons une stratégie d'allocation de mémoire segmentée pour allouer et libérer de la mémoire dans le temps en fonction de la demande, de sorte que l'utilisation globale de la mémoire est très faible et peut prendre en charge un grand nombre de connexions simultanées.B. Équilibrage de charge
1.F5 (F5 BIG-IP), le nom officiel est gestionnaire de trafic local, peut effectuer l'équilibrage de charge des couches 4 à 7.
2.LVS (Linux Virtual Server), destiné aux applications réseau à grand volume (telles que les services d'actualités, les banques en ligne, le e-commerce, etc.). La combinaison de LVS et Keepalived présente une forte résistance à la charge, une configuration simple et un fonctionnement stable. Cette méthode est applicable à une large gamme d'applications. ⑴Trois modes de fonctionnement de LVS : ①VS/NAT (Virtual Server Via NAT), technologie de traduction d'adresses réseau, se compose d'un serveur d'équilibrage de charge et de plusieurs serveurs réels sur le backend pour former un cluster de serveurs. Avantages : Une seule adresse IP doit être configurée sur le serveur de planification et le groupe de serveurs peut utiliser des adresses IP privées. Inconvénients : évolutivité limitée.②VS/TUN (Virtual Server via IP Tunneling), la planification et la gestion des connexions sont les mêmes que dans VS/NAT, mais la méthode de transfert des messages est différente. Phrase réécrite : L'avantage de cette solution est qu'elle peut augmenter considérablement le nombre de serveurs de planification de charge, créant ainsi un super serveur hautes performances. Un serveur prenant en charge les protocoles « IP Tunneling » ou « IP Encapsulation » est requis.
③VS/DR (Virtual Server via Direct Routing), le planificateur sélectionne dynamiquement un serveur en fonction de la charge de chaque serveur. Il ne modifie ni n'encapsule les paquets IP, mais remplace l'adresse MAC de la trame de données par celle sélectionnée. L'adresse MAC du serveur, puis envoie la trame de données modifiée au LAN du groupe de serveurs. Il est nécessaire que le planificateur de charge et le serveur réel disposent d'une carte réseau connectée au même segment de réseau physique. Le périphérique réseau du serveur ne répond pas à ARP ou ne peut pas rediriger le paquet vers le port Socket local. ⑵Algorithme de planification LVSPlanification d'interrogation ; Planification de tourniquet pondérée ; Planification de connexion minimale basée sur la localité ; Planification de hachage d'adresse de destination ; : Les serveurs backend peuvent être planifiés par interrogation, IP_HASH, URL_HASH, poids et d'autres méthodes, et les contrôles de santé sont également pris en charge. Il dépend peu du réseau et fonctionne sur la couche 7. 4.HAProxy : Il peut compléter certaines lacunes de Nginx, telles que la rétention de session, le guidage des cookies, etc. ; prend en charge la détection d'URL, il est meilleur que Nginx ; peut équilibrer la charge des opérations de lecture MySQL ; C. Cache
1. Deux parties : cache de fichiers (contenu statique), cache de données
2. Cache client : Header("Cache-control:must-revalidate");Header("Expires:".gmdate(" Did M Y H: i:s”,time()+(60*60*24*30)));//Expiré dans 30 jours php
3. Accélération CDN
4. 5. Cache de données : memcache, redis
D Stockage de données1 Base de données relationnelle : MySQL, Oracle, SQL Server2. Base de données en mémoire : Redis, MongoDB (type de document)
3. base de données : HBase
4. Solution évolutive MySQL : cluster MySQL ; miroir réseau du disque dur DRBD ; réplication MySQL (recommandée) ; segmentation des données : grâce à un algorithme spécifique, les données seront stockées dans le même La base de données (table) est stockée de manière dispersée dans plusieurs bibliothèques (tables) pour obtenir l'effet de disperser la charge d'un seul périphérique.
6. Segmentation verticale : Divisée en différentes bases de données (hôtes) selon différentes tables. Il convient aux systèmes avec un faible couplage entre les entreprises, peu d'influence mutuelle et une logique métier claire. Ses règles sont simples et faciles à mettre en œuvre.
Répartition horizontale des tables : selon la relation logique dans la table de données, les données sont divisées en plusieurs tables via un certain algorithme. La règle de fractionnement elle-même est plus compliquée que la division basée sur les noms de tables, et la maintenance ultérieure des données est également plus compliquée, mais elle est meilleure pour réduire la pression du système et constitue une méthode de traitement recommandée dans le cadre du Big Data à haute concurrence.
E La file d'attente de messages de Memcache/Redis est également facile à déployer, à maintenir et à étendre.G. Conception de recherche
lucene, sphinx et xunsearch domestique3. Conception et mise en œuvre de la suite du centre commercial
A Module membre
1. Composition du module : Après l'inscription, la valeur par défaut est. l'acheteur. Pour devenir vendeur, vous devez soumettre une demande de règlement après inscription et réussir l'examen. Le port de connexion pour les acheteurs et les vendeurs existe indépendamment. En tant que fondement du site Web, il implique essentiellement tous les modules du site Web.
2. Idée de conception : ① Exigences de conception :L'interface est simple et pratique : l'inscription et la connexion sont simples et pratiques, un numéro de téléphone portable ou un e-mail + un mot de passe
Collectez plus d'informations sur les membres : Collection des centres de membres
Coordination maître-esclave : table maître et table esclave
Utilisation raisonnable de la redondance : par exemple, les noms d'utilisateurs sont également enregistrés dans la table du magasin
Structure claire : par exemple, la table des utilisateurs et la table des marchands sont séparées
③Conception du module
Exigences fonctionnelles de l'adhésion des acheteurs : niveau d'inscription et de connexion des acheteurs ; sécurité du compte ; autres fonctions connexes
Exigences fonctionnelles du compte expert : commerçant ouvrant un magasin ; gestion des informations sur les sous-comptes ; classification de la consommation du magasin ; 3. Développement et utilisation
B. petits modules : classification du produit ; type ; spécifications et valeurs de spécification ; attributs et valeur d'attribut :
② Marque : nouveau (ajout de plate-forme et ajout de marchand, l'ajout de marchand nécessite un examen), modification, suppression
① Conception de table de données liées au produit
La table de classification des produits et la table des types ont une relation un-à-plusieurs. La classification des produits est liée aux attributs, aux spécifications et aux marques par le biais de types. Il a une relation un-à-plusieurs avec la table des produits
La table des séries d'attributs comprend la table attributaire et la table des valeurs d'attribut, qui sont une relation un-à-plusieurs. La table attributaire et la table des types ont. une relation plusieurs-à-un. La table de valeurs d'attribut a une relation plusieurs-à-un avec la table de produits et les attributs. Il s'agit d'une relation plusieurs-à-plusieurs avec la table de relations de produits comme pont
Le. La table des séries de spécifications comprend une table de spécifications et une table de valeurs de spécification, qui est une relation un-à-plusieurs. La table de spécifications et la table de types utilisent la table de relations de types et de spécifications comme pont pour former une relation plusieurs-à-plusieurs. La relation entre la table de spécifications, la table de valeurs de spécification et la table de produits est une relation plusieurs-à-plusieurs.
La table des marques utilise la table des relations entre les types et les marques comme pont, et est plusieurs-à-plusieurs avec la table des types. La table des marques et la table des produits sont un à plusieurs.
Le tableau des séries de produits comprend un tableau de produits, un tableau public de produits et un tableau d'images de produits. La table des produits et la table publique des produits sont plusieurs à un, et la table des images du produit est plusieurs à plusieurs②Idées de conception associées pour la gestion des produits sur la plateforme
L'administrateur de la plateforme doit d'abord terminer le produit classification, marque, type, spécification, définition des attributs
③Idées de conception permettant aux commerçants de publier des produits
3. Implémentation du code
C Module de promotion
Promotions gratuites : achetez-en un, obtenez-en un gratuitement, achetez un cadeau, achetez un produit, obtenez un bon d'achat
Ventes liées : lorsque le client parcourt un produit et recommande ensuite d'autres produits ; lui, ce produit Il peut être vendu avec d'autres produits et le prix total sera réduit en conséquence.
Promotion à durée limitée
Promotion de style loterie
Promotion interactive : bonnes critiques et invitations
Promotions à valeur ajoutée : livraison gratuite, services supplémentaires
2 .Idées de design
①Principes de conception d'entreprise
Attirer l'attention
Fonction de persuasion
Informations de rétroaction
Stimuler les ventes
②Exemple de conception de module (module d'achat groupé)
Gestion des colis : La plateforme met à disposition des magasins
Gestion des achats groupés : La plateforme effectue des revues et peut être retirée des rayons à tout moment
"Prochainement" : Ajouter
à paramètres de recherche : classification des produits, fourchette de prix, etc. 3. Développement et utilisation
1. Composition du module : fonctions d'ajout, de suppression, de modification et de collecte de produits
① Exigences de conception :
Stockage persistant : enregistrez les cookies avant. connexion, enregistrer dans la base de données après la connexion, effacer les articles achetés après une commande réussie
Intégrité des données : informations sur la promotion, sous-total du produit, sous-total du magasin Comptabilité, etc.
Précision des données : informations clés (inventaire, prix, statut, etc.)
②Conception de la table de données
Relation entre les tables Les champs principaux sont indispensables : impliquant les membres, les magasins, les tables de produits, etc. dernières données valides lors du traitement des nœuds clés
③Conception du modèle de panier
Opérations d'ajout, de suppression, de modification et de vérification
Encapsulation de l'entrée : les opérations telles que les cookies ou les bases de données sont représentées en externe comme un entrée, détournée sous forme de paramètres
Statistiques des données
Intégrité et précision des données
1. , comme les zones administratives nationales ou locales, les grandes sociétés de transport express, etc. ; les commerçants doivent créer des modèles de sociétés de transport express ; Non seulement il prend en charge différents frais d'expédition dans différentes régions, mais il évite également aux commerçants de fixer à plusieurs reprises les frais d'expédition des marchandises, réduisant la charge de travail. Lorsque les acheteurs passent une commande, ils doivent définir les informations de livraison et le système calcule les frais d'expédition en conséquence.
3. ①Zone de distribution : l'un est le paramètre de région administrative standard ; l'autre est le paramètre de zone de paiement à la livraison ; toutes les données régionales lors du chargement de la page de la zone de livraison sont complétées par le côté serveur. Lors du chargement de la page, l'ID du comté qui prend en charge le paiement à la livraison. sera placé dans le tableau JS. Lors de la modification de la région, si la région de niveau supérieur est sélectionnée et si le changement de quantité est effectué par le client JS
②Entreprise de distribution : indiquez au moins le nom de l'entreprise, le site Web, le code de l'entreprise, etc. ③Adresse de réception : N peut être enregistrée, définissez une adresse de livraison par défautF. Module de commande
① Statut de la commande
Le statut de la commande est un symbole important du processus de commande, qui l'étape dans laquelle se trouve la commande et le rôle autorisé à la traiter, la principale base de jugement
utilise généralement l'identification numérique, qui inclut au moins le défaut, l'annulation, le paiement, l'expédition, la réception, et peut également inclure la suppression, révision, stockage, expédition, verrouillage, retour, remboursement, arbitrage, etc. Etc.
②Montant de la commande
Jianyi peut pleinement prendre en compte les éléments pertinents tels que l'heure, les nombres aléatoires , identifiants de commerçant, identifiants de membre et identifiants à croissance automatique. Le but de la conception est de garantir que la probabilité de répétition des numéros de commande est minimisée dans des conditions de concurrence élevée
Inventaire occupé par la commande
Inventaire invendable
Inventaire verrouillé : Pendant les promotions
Inventaire virtuel
⑤ Paiement combiné
OK Regrouper les commandes de différents commerçants Paiement unifié
⑥Autorisations de rôle
Acheteur : annulation de commande, suppression (mise en corbeille), remboursement, retour, réception, évaluation, etc.
Marchand : revue de commande, clôture, livraison, traitement après-vente, etc.
Plateforme : annulation de commande, changement de statut de paiement, suppression, arbitrage, etc.
⑦Conception de table
Table principale de commande : stocke les informations de commande principales et couramment utilisées, telles que le numéro de commande, le montant , fret, statut, etc.
Tableau auxiliaire : informations auxiliaires, telles que les informations d'expédition, les informations sur la facture, les informations sur le destinataire, les informations sur la promotion, etc.
Tableau des produits de commande : quelques informations sur la liste de produits dans la commande
Tableau des ordres de paiement : conçu pour les paiements combinés, enregistrez un numéro d'ordre de paiement et utilisez un numéro d'ordre de paiement pour N enregistrements du tableau de commande
Tableau du journal des commandes : enregistrez le journal des opérations lorsque le contenu de la commande change, y compris l'opérateur, la durée de l'opération, le contenu de l'opération, etc.
2. Passez une commande
Le système effectuera beaucoup de travail de traitement lorsque une commande est générée, telle que les informations de réception de processus, les informations de facture, les informations de promotion, le fret, les bons, les ordres de paiement, les commandes, les journaux, etc.
G. Interface de paiement
1. Il existe deux manières d'accéder aux résultats de paiement : l'une est synchrone, avec une notification de saut via le navigateur ; l'autre est asynchrone, c'est-à-dire une exécution back-end du serveur.
2. Exigences de conception : sécurité ; intégrité des données (traitement des transactions) ;
3. Conception de la base de données : inclure au moins le nom et le code d'identification du mode de paiement. . Les noms sont cohérents et de plus, les informations de configuration de l'interface de paiement sérialisée et l'état de l'interface de paiement doivent être enregistrés
H Module de rétrofacturation
1. Idées de conception
① Lorsqu'il y a une nouvelle demande de remboursement ou de retour. mais la commande n'a pas été complétée (lors de la confirmation de la réception), afin d'éviter tout litige, le statut de la commande doit être verrouillé
②Retour : en fonction du processus de remboursement, les étapes d'expédition par l'acheteur et de réception par le commerçant sont ajoutées.
Si le commerçant n'accepte pas de rembourser ou de retourner le produit, l'acheteur peut faire une nouvelle demande ou se plaindre auprès de la plateforme au sujet du commerçant et soumettre les preuves pertinentes pour arbitrage par l'administrateur du système.
④Vous pouvez utiliser un tableau avec un champ pour identifier s'il s'agit d'un remboursement ou d'un retour
⑤Les motifs des remboursements et des retours sont saisis par l'administrateur système en arrière-plan et sélectionnés par l'acheteur lors du dépôt de la demande.
2. Compétences de développement
① Vous devez d'abord définir les règles et clarifier vos idées, si vous ne comprenez pas la logique, communiquez et résolvez-la en temps opportun.
② Essayez d'utiliser pleinement le code et assurez-vous d'effectuer une vérification des données côté serveur.
I. Module de règlement
Le règlement est le règlement de la facture entre la plateforme et le commerçant. Une fois le paiement effectué, le système attendra que le commerçant confirme la facture. le commerçant entrera dans le processus d'examen du système après confirmation.Après l'examen du système, soumettez-le au service financier pour l'opération de paiement une fois le paiement terminé, les informations relatives au paiement sont saisies en arrière-plan et le règlement de la facture est terminé.
1. Idée de conception
①Conception du tableau de données : tableau de facturation, comprenant des champs tels que la date, le montant total de la commande, le fret total, le montant total du remboursement, le montant total de la commission, le montant de la commission remboursée, les frais du magasin, le montant dû et l'état du règlement. ;Le tableau récapitulatif des factures est un résumé statistique de toutes les informations de règlement des commerçants chaque mois ;
②Conception du processus de règlement : comptes sortants, le système calcule automatiquement les comptes de règlement pour ce mois
[Calendrier d'exécution] automatique et manuel
[Règlement ; Objet] Commandes ou rétrofacturations complétées par des transactions survenues le mois dernier ;
[Formule de calcul] Montant de la commande, montant de la commission (commission = prix de vente réel du produit * quantité achetée - montant de l'attribution de remise), montant de la rétrofacturation, commission de remboursement, promotion du magasin. frais ;
③Montant payable par la plateforme = montant de la commande - montant de la commission - montant de la rétrofacturation + commission de remboursement - frais de promotion du magasin
④Rapprochement : La plateforme fournit l'information, la confirme et la soumet à la plateforme pour examen ; Après avoir terminé l’examen, suivez le processus financier pour effectuer le paiement. Une fois le paiement effectué, saisissez les informations de paiement pertinentes et soumettez-les pour terminer le processus de règlement.
J. Module statistique
1. Laisser l'analyse des données intervenir dans les opérations : prendre des décisions opérationnelles intelligemment basées sur les données ; utiliser les données comme objectif pour exécuter efficacement les plans d'opération ; 2. Composition du module :
①Vues (PV), le nombre total de fois qu'un navigateur charge une page Web ;
②Nombre de visiteurs (UV), en utilisant des cookies pour déterminer les visiteurs absolument unifiés
③Taux de conversion, qui fait référence au taux de conversion réel ; consommation Le ratio de clients par rapport au nombre total de clients qui ont visité le site Web. Taux de conversion des transactions = nombre de clients transactionnels/nombre total de visiteurs ;
④ La profondeur moyenne des visites fait référence au nombre de pages de votre site Web que les utilisateurs parcourent au cours d'une visite, qui est le ratio PV et UV ; profondeur des visites ?
Typographie et mise en page raisonnables du site Web
Contenu du site Web
Navigation raisonnable et texte d'ancrage des liens internes approprié ;
⑤ Temps de visite moyen du site Web par personne, temps de visite moyen du site Web = temps de visite total du site Web/nombre de sessions (visites)
⑥Taux de rebond des pages, fait référence au visiteur qui atteint la page cible et ne continue pas à visiter d'autres pages du site Web après son arrivée, une fois parti, cela s'appelle un rebond ! C'est-à-dire qu'il est manqué. La formule de calcul du taux de rebond est la suivante : le nombre de visites qui quittent la page divisé par le nombre total de visites sur la page
⑦Nombre d'articles commandés
⑧Volume d'articles commandés
Le montant moyen de la transaction fait référence à la transaction moyenne montant pour chaque membre du site Web au cours d'une certaine période de temps. Le montant moyen des biens achetés est également appelé prix unitaire. Le prix unitaire par client peut être exprimé comme le montant de consommation moyen de chaque client. La formule de calcul est le total des ventes divisé par le nombre total de clients, ou le total des ventes divisé par le nombre total de transactions
⑩Le taux de réachat fait référence à l'achat répété du produit ou du service par le consommateur. Nombre d'achats. L'un est, pour tous les clients qui ont acheté le produit, le nombre de fois que chaque client a acheté le produit à plusieurs reprises en tant qu'unité indépendante ; l'autre algorithme est la proportion du nombre total d'achats répétés par unité de temps ; ;
3. Idées de conception
①Les principes de conception des données elles-mêmes
Il est nécessaire d'avoir un concept global : informations globales sur les ventes (montant de la commande, volume de la commande, prix client moyen global (nombre de)) ; articles commandés, prix moyen des articles, nouveaux ajouts) Nombre de produits, nombre total de produits, 30 meilleures ventes de produits dans les 7 jours ; informations globales sur les clients (nombre total de membres, nombre de nouveaux membres, nombre de membres passant des commandes) ; informations globales sur le magasin (nombre total de magasins, nombre total de nouveaux magasins, 30 meilleures ventes en magasin dans les 7 jours)
Les statistiques doivent être détaillées : jusqu'à un certain membre, un certain moment dans le temps, une certaine région, etc.
Analyse régulière des données : d'une année sur l'autre, la comparaison entre le Nème mois de cette année et le Nème mois de l'année dernière (vitesse de développement d'une année sur l'autre = nombre dans cette période/nombre dans la même période de l'année dernière*100 % ; taux de croissance d'une année sur l'autre = (nombre pour cette période-nombre pour la même période de l'année dernière)/nombre pour la même période de l'année dernière*100 % ; à la comparaison entre la période de référence et la période statistique précédente (vitesse de développement chaîne par trimestre = (numéro de ce numéro / numéro du numéro précédent) * 100 % ; taux de croissance de la chaîne = (nombre de numéro en cours - nombre de numéro précédent) / numéro du numéro précédent * 100%)
Faites attention aux données d'exploitation quotidiennes : nombre moyen de pages visitées par les clients, temps d'attente moyen, taux de rebond, nombre de fois où les articles sont collectés, etc.
④Principes de conception des tables de données
① les opérations de données doivent prêter attention aux problèmes suivants :
③ Application pratique : utiliser réellement les données. les données ;
④ Ne cherchez pas seulement le meilleur : lors du choix d'un algorithme de data mining, nous devons déterminer s'il est adapté au problème que nous voulons résoudre
⑤ Rechercher la vérité : extraire autant d'informations efficaces que possible ; lors de l'exploitation minière ;
⑥ Répétabilité : requise Ré-excaver pendant un certain temps ;
⑦Accumulation de données : l'analyse des données nécessite l'accumulation d'une certaine quantité de données, et les résultats obtenus grâce à l'exploration de données seront convaincants ; : Une fois les données générées, les résultats peuvent être obtenus rapidement, afin que l'effet puisse être obtenu Maximiser
K Pré-dépôt1. .Idées de conception
① Exigences de conception : sécurité ; intégrité des données ;
②Conception de la table de données :
Tableau de recharge, enregistre les informations de recharge des membres, les champs principaux sont le formulaire de recharge, les informations sur le membre, le montant de la recharge, le temps de recharge, statut de recharge, etc. S'il y a une opération d'administrateur, l'identité de l'administrateur doit également être enregistrée
Le tableau de retrait enregistre les informations de retrait des membres. Les principaux champs sont le numéro d'ordre de retrait, les informations du membre, le montant du retrait en espèces, la réception. informations bancaires, statut de la demande et informations de paiement sur la plateforme (délai de paiement, opérateur, etc.)
Tableau de journal, enregistre toutes les opérations lors de la modification des pré-dépôts, y compris des enregistrements détaillés des modifications du montant disponible et du montant gelé. les champs comprennent les informations sur l'opérateur, le type d'opération (commande, retrait, recharge, remboursement, etc.), les pré-dépôts disponibles, etc. Dépôt, pré-dépôt gelé, durée de l'opération, remarques, etc.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!