A partir d'une seule architecture à une structure de transaction distribuée, NetEase soigneusement la pratique réussie sélectionné

Auteur | Ma Chao

Modifier | Xue Liang

Au cours des deux dernières années, soigneusement sélectionnés et mis en avant un modèle de conception unifiée après-vente, le concept d'un montant maximum remboursable, et les moteurs de remboursements à plusieurs étages, support arrière broches Abstraite,, la vitesse de prise de remboursement, après-vente et d'autres capacités de contrôle des risques en général, par le biais l'architecture a évolué plusieurs fois, ce qui réduit efficacement le couplage et la complexité de la logique métier, peut être fait construire rapidement et l'accès aux services des services de couche supérieure.

La production du commerce électronique, le commerce joue un rôle important dans les affaires soigneusement sélectionnés. Avec le développement continu de l'entreprise, sur mesure et scène commerciale différenciée a commencé à mettre en évidence, alors que l'accès à des partenaires tiers à payer de plus en plus, comment faire une bonne évolutivité et de flexibilité pour assurer des services de transactions sécurisées est stable en même temps près d'un an soigneusement sélectionné la pensée mise au point et la pratique de l'architecture d'une transaction distribuée.

Très honoré, InfoQ a parlé avec NetEase soigneusement directeur technique choisi, ArchSummit l'architecture Sommet mondial de la technologie chargé de cours architecte Ma Chao, en termes d'itérations du modèle de données de base et d'autres services décrit l'évolution du centre commercial distribué pratique de l'architecture technologique soigneusement sélectionnés dans le processus de négociation. (Ma Chao sera également part au sommet Juillet à Shenzhen ArchSummit « Road to Jane - la pratique de l'évolution de l'architecture de services soigneusement sélectionnés » sujet)

(Pour faciliter une vitrine complète processus itératif de technologie soigneusement sélectionnés, l'article sera la première personne à réécrire le dialogue ne change pas l'intention de la base)

Une brève histoire de l'évolution de l'architecture des transactions distribuées soigneusement sélectionnés

aspects soigneusement sélectionnés de la transaction est définie comme un processus dynamique peut contribuer aux acheteurs et aux vendeurs d'atteindre un contrat, plutôt que de simplement les transactions et payer directement assimilent. Dans la plupart des domaines des affaires électroniques, en plus d'espèces à la livraison et d'autres lieux spéciaux, les contrats sont généralement sous la forme d'une ordonnance de paiement pour atteindre le succès, et peut donc être une bonne structure de transaction nécessaires pour soutenir le noyau des commandes fournisseurs d'électricité et les liens payants.

Le stade précoce de la culture sur brûlis, soigneusement sélectionnés Mall affaires est petit, petit nombre de produits et de petites différences dans l'utilisateur du panier à l'ordre modèle de transaction relativement simple et à payer. Ainsi, afin de générer les mêmes pages de facturation de temps, les dossiers de base de données liés à une indemnité de licenciement, le montant et l'ordre de payer le montant de règlement uniforme. Ensuite, pour l'amarrage micro lettre, Alipay est par l'intermédiaire d'un service de paiement simple, Netease payer trois institutions de paiement pour guider l'utilisateur sur le paiement de la commande du client est terminée, alors les enregistrements de paiement final de la synchronisation de l'Etat à l'ordre d'aller. La structure est simple et le fonctionnement simple est également très efficace.

gratté au début de la phase de cicatrisation osseuse, avec le développement des affaires, une sélection rigoureuse a commencé à négocier la diversification et la différenciation scène. En commençant par le lien de paiement, comme la mise en place d'un système de connexion de compte commun permet l'accès aux établissements de paiement plus tiers, nous avons constaté qu'il ya une grande différence dans les critères d'accès et les modalités de ces établissements de paiement tiers, sont même mode interactif la différence, alors que les achats d'affaires, à des groupes se battent, représenté par un des modules d'affaires distincts développé rapidement, le cycle de vie des différents ordres et règles de ces services, le stockage est relativement discrète, l'historique des paiements est difficile avec les services de paiement d'origine dans un mappage relations. L'architecture originale de plusieurs modules fonctionnels mixtes fondus ensemble pléthorique et de mauvaises extensions, la qualité de ligne ne peut pas être garantie. Par conséquent, nous pouvons accélérer l'ajustement de la structure et le service en scission, divisé les systèmes de paiement de services de paiement et les systèmes de caisse enregistreuse, les systèmes de paiement réduisent la portée de maîtriser l'ordre de payer la gestion de l'Etat et les institutions de paiement en espèces externes, les remboursements et autres services le système de caisse enregistreuse est responsable, les commandes associées et les informations de paiement dans le numéro de série interne soigneusement sélectionné transaction unique.

Tableau de caisse soigneusement sélectionnés

La mise à niveau des infrastructures, pour atteindre des capacités de configuration plus souples, différents comptes peuvent voir les différents registres de trésorerie pages personnalisées sur différents modules et produits terminaux, grand pour répondre aux exigences de la partie supérieure de l'entreprise. En même temps, le blindage des différences de mode de caisse et la complexité du service de notification de paiement par un tiers d'accueil dans la conception, rembourser la totalité unifiée dans un mode de rappel asynchrone, ce qui réduit la complexité de l'accès au service de couche supérieure.

Garder un profil bas mi-stade de développement, en même temps à une partie de la rémunération de l'architecture de l'expérience mise à niveau, la diversité des produits ont commencé à avoir un impact sur les commandes de processus commerciaux, les catégories de produits tels que la propriété et l'expédition des produits de base. Ici, par exemple avec des cartes-cadeaux, cartes-cadeaux sont une denrée particulière, les utilisateurs peuvent acheter lier que l'utilisation des fonds dans le processus de négociation, et la distribution de la carte-cadeau électronique ne nécessite pas le respect, mais nécessite une carte supplémentaire des services d'amarrage, en plus de la carte-cadeau le processus d'achat exige également la nécessité pour l'authentification de nom de réel basé sur le montant du jugement. Dans notre architecture initiale de ce produit dans tous les aspects de la transaction, nous avons un traitement spécial, mais le couplage profond, avec des biens virtuels (cartes, appels) et des biens non standard (lunettes, produits constant) émerge, équipe technique pour faire la mise à niveau de l'architecture d'origine, le concept de transaction abstrait modèle, la transaction peut fournir la possibilité de personnaliser les pages de modèle dans le règlement, comme si vous pouvez utiliser une carte-cadeau, que vous pouvez utiliser un coupon / enveloppe rouge, la nécessité pour l'utilisateur de remplir le supplément supplémentaire informations. Les commandes seront différents modèles de transaction générés transaction supplémentaires sur une autre identité pour le module de service ultérieur accueil et le centre de traitement des commandes.

À l'heure actuelle scène florissante, nous sommes en train de travail est une plate-forme de cartes-cadeaux, offre des cartes-cadeaux peuvent être configurés pour la politique inverse et de la consommation, la fabrication et les systèmes de paiement, des systèmes de caisse enregistreuse travaillent ensemble pour construire la base de la matrice de services de transaction soigneusement sélectionnés. Tout en tenant compte également la possibilité d'étendre modèle commercial, avec son centre peut effectivement mettre des liens de connexion unique efficace et les services de règlement des transactions sous-jacentes matrice ensemble, soutenir les scénarios de transaction sous différents modèles d'affaires grâce aux capacités de configuration de la plate-forme.

Avenir, être en mesure de planifier l'étape soigneusement sélectionnés plus dans le cas d'une structure tridimensionnelle existante de l'accord forment progressivement une plate-forme complète pour le centre commercial soigneusement sélectionnés, la plate-forme centrale de négociation comprennent non seulement les services comprennent les achats panier, les services de commande, y compris les services de paiement capacités commerciales générales, fourniront la possibilité de planifier des transactions complètes, de fournir un soutien plus fiable pour le service de couche supérieure. Alors que dans le cas du mode soigneusement sélectionnés pour étendre la ligne, la ligne explore activement la scène des modèles commerciaux pour mettre en ligne et les données hors ligne pour passer à travers pour les consommateurs une meilleure expérience du shopping.

la pratique de l'architecture technologique accumulée du commerce

Dans soigneusement sélectionnés à travers l'évolution de l'architecture distribuée, d'une part bien pour répondre aux exigences de disponibilité du système à haut débit, d'autre part, comme la plupart des entreprises Internet, a également rencontré une cohérence des données communes d'architecture distribuée, des problèmes d'équilibre et d'autres ressources. Dans le processus de résolution de ces problèmes, régler lentement de soigneusement sélectionnés une partie de leur propre middleware.

Gestion des processus de négociation - verrouillage distribué et les transactions distribuées

Tout d'abord verrou distribué. dlock rentrante est soigneusement sélectionné, peut être bloqué, peut être arrivée à expiration, la disponibilité, la performance, à faible coût, étirable de manière élastique pièce de verrouillage distribué (structure générale ci-dessous), il y a deux objectifs de conception principale:

  • L'accès aux ressources dans des environnements distribués synchronisés pour plusieurs machines, multi-process, multi-thread, mono-thread et d'autres scènes;

  • coût élevé Sinon, le coût élevé, verrouillage pauvres de la base de données de l'évolutivité.

  • dlock mode de réalisation de base peut être adaptée à différents types de caches, comme Redis, Memcached, comme Zookeeper, dlock capacité modulable en fonction du niveau de la demande.

    dlock prend en charge trois différents types de serrures stratégie rentrée, à savoir: fil niveau ré-entrée, le niveau de processus de réintégration, distribuée rentrée, la rentrée de ces stratégies peut satisfaire pleinement la sélection rigoureuse des scénarios d'entreprise pour chaque exigences complexes d'un verrou distribué .

    Suivi par une transaction distribuée. Pour résoudre la cohérence du processus de transaction de données entre les systèmes distribués, recherche stricte choisi parmi un middleware distribué DTS transaction. DTS suivent type de base, est un TCC typique (Try / Confirmer / Annuler) le type de transaction, l'architecture générale de DTS comme indiqué ci-dessous:

    DTS soumis pour les deux phases optimisé, appelé la dernière optimisation des participants (LPO): il a décidé Après une origine de transaction distribuée n'est pas un à deux étages, seule une seule étape, est prêt à la première étape de tous les participants de soumettre les résultats directement le succès de la transaction distribuée ou non.

    Gestion des ressources de négociation - un mécanisme d'isolement des ressources de base et les stratégies

    Afin d'intercepter scalper trafic anormal, les attaques, ainsi qu'une limite raisonnable sur le trafic utilisateur normal, les restrictions de circulation strictes choisies dans la recherche et middleware d'urgence Fuse Eudemon. l'accès aux ressources CPU abstrait ancienne volonté de Eudemon, MEM, DB, etc. appel Déplacer la méthode, le niveau des pages visitées, appel par des restrictions d'accès indirect pour protéger la surcharge des ressources de page. Eudemon structure globale, comme indiqué ci-dessous:

    Eudemon à la circulation deux niveaux de contrôle:

  • Scalper et les attaques d'interception de flux: caractéristique de débit par l'analyse du comportement peut intercepter le corps de plus de 99% et scalper trafic d'attaque, afin d'éviter le ruissellement noir avec le trafic normal concurrence pour les ressources système, tout en atténuant l'aval du système de contrôle de l'air pression.

  • le contrôle du trafic normal et fusible: restrictions raisonnables sur le trafic utilisateur normal, déplacement de la charge, toujours veiller à ce que l'afflux de trafic ne dépasse pas la charge sur le système, alors que l'entreprise fait fusible en cas d'urgence.

  • Comment l'isolement des ressources? Le système tend à être une architecture plus distribuée, plus des noeuds de service, les pannes en cascade conduisent à une défaillance d'un seul nud est amplifié dans une architecture distribuée. En se concentrant sur Eudemon commande d'entrée à l'extérieur, soigneusement sélectionnés développé une mise au point sur l'isolement ressource contrôlée sortie égide du middleware.

    Lien distribué, une pluralité de service en aval service dépend, en réponse à un service en aval ne sont pas disponibles ou est très lent avec ce service peut affecter même causer l'effet d'avalanche. Nous avons rencontré en ligne avant la SQL lente typique, SQL, a conduit à une base de données de charge lente montée en flèche, ce qui conduit à coup court DB de base disponible, ce qui provoque l'ensemble du système ou d'un service ne sont pas disponibles.

    égide séquence d'isolement de la ressource indiquée ci-dessus, l'utilisation du mécanisme d'isolement dynamique, peut être isolé par dimension commerciale. Tels que l'utilisation du scénario de base de données distribuée, on peut seulement l'échec DB nud où l'isolement, plutôt que l'isolement de l'ensemble de la base de données distribuée.

    Résumé et réflexions - le concept de base de la pratique du middleware soigneusement sélectionnés

    Soigneusement sélectionnés middleware a toujours suivi une politique de base au coût le plus bas pour résoudre les problèmes techniques, en adhérant à la foi de l'entreprise axée sur la technologie, l'activité principale a toujours été de faire un support à 360 degrés. Construction middleware suivre la "open source + auto-apprentissage" en mode bi-moteur, à base open-source, l'auto-développement, complété par les commentaires open source. Debout sur les épaules de géants open source peut être réduit les coûts de recherche et de développement soigneusement sélectionnés, grâce à l'auto-étude et peut être très bon pour compenser le manque d'open-source, rétroaction open source par la prospérité mondiale open source nourrir la technologie soigneusement sélectionnés.

    Grand promouvoir des défis commerciaux et la réponse à ce

    fournisseur d'électricité dans la grande promotion est le meilleur test de la technologie de l'architecture et la conception accumulée en temps de paix. En tant que scénarios spéciaux de forte concurrence, le pic est souvent plusieurs fois le même écart d'habitude plusieurs ordres de grandeur, certains systèmes apparemment stables et des services dans les cas extrêmes, il peut exposer les problèmes de concurrence.

    Un cycle plus court grandes activités de promotion, est lien commercial particulièrement important du chariot à l'autre et de payer une défaillance pourrait affecter les activités opérationnelles de l'effet de tout lien. Examen soigneusement sélectionnés dans la précédente grande promotion dans l'exécution des principaux défis que doit relever le système commercial a ces catégories:

  • L'utilisation rationnelle des ressources de base de données

  • La stabilité et la rapidité des services de paiement

  • Contre les attaques externes

  • système commercial de base de données dépend des composants relativement lourds, la cohérence des données est très élevé. Le seul exemple suivant, nous utilisons généralement des opérations pour assurer la cohérence forte, mais avec le développement de l'entreprise, les affaires deviennent pléthorique, des performances médiocres dans les scénarios élevés de concurrence, les ressources de base de données peuvent facilement devenir un goulot d'étranglement, allant de la partie d'impact du nud de données , le poids affecté l'ensemble unique service ou même l'ensemble du processus de négociation. Afin de protéger et de promouvoir un grand, soigneusement sélectionnés pour la transaction a été démontée pour titiller le cur de métier et des activités non essentielles, le mécanisme des activités non essentielles et de maximiser l'utilisation de la compensation asynchrone pour compléter la transaction pour réduire la taille des particules de l'activité de base au minimum, l'utilisation de verrouillage distribué et distribué l'atterrissage des transactions. Après le démontage, la taille de la transaction plus raisonnable, alors que dans DDB (base de données distribuée Netease), sélectionnez la stratégie de partitionnement d'utilisateur approprié, les différents utilisateurs des droits effectivement distribués aux différents noeuds de base de données, d'éviter les problèmes chauds.

    La stabilité et la rapidité de paiement est un autre défi relativement grande, grande promotion si le tremblement de service de paiement a lieu ou non callbacks en temps opportun peut entraîner des pertes importantes d'intérêt pour l'utilisateur dans un court laps de temps, les plaintes des clients augmenteront. En vertu du principe de la surveillance renforcée, nous serons l'isolement strict des ressources et de la division, de conserver une certaine flexibilité, l'isolement rapide et l'instabilité de certains canaux de services. Tout en prêt à prendre l'initiative de recherche et de stratégie de nouvelle tentative en cas d'échec en temps opportun pullbacks de passer en mode veille. Tout en fin encore utilisateur de faire un peu d'optimisation, ajoute une attente de copie pour le traitement des paiements à l'utilisateur afin d'apaiser.

    En outre, le système commercial peut également être menacé par des attaques externes, une seule ligne de brosse, des coupons de pinceau et d'autres actes de malveillance ont eu lieu, si l'interface de transaction directement exposée aux attaques, la transaction axée sur les ressources se produira, faites glisser sérieusement sur toute la système de service. Nous avons donc construit un bouclier fiable en dehors du système de transaction de base pour protéger les intérêts des utilisateurs. Et la pratique similaire courante dans l'industrie, la défense est soigneusement sélectionné à partir du plancher d'entrée, caractérisé en identifiant l'accès aux requêtes malicieuses à une première ligne de défense, sur les services d'affaires, il y a un élément de protection de granularité d'interface, peut Mvel grammaire les principaux aspects de l'intervention de l'interface de transaction, les principaux services commerciaux de logique métier en général volonté interface de requête de contrôle d'accès du vent, l'utilisateur analyse précise. A travers trois couches de protection, soigneusement sélectionnés lien de base a été garanties de sécurité efficaces.

    Enfin parler de la sélection rigoureuse des grands processus et des stratégies d'assurance pro peut être divisé en trois étapes.

    La première est la phase d'évaluation, afin de préparer la mesure et l'évaluation des ressources pression à base. Estimation par la décomposition de l'indicateur de haut actionnement est réglé système de transaction touche de gestion du lien d'interface dans les indicateurs de réponse afin de déterminer si la capacité du système existant pour répondre aux besoins et d'élaborer un programme d'extension approprié. En même temps, comprendre les indicateurs existants dans la mesure du module de service de mesure de pression et de pression dans le lien complet, avec des rapports d'essais analysent les goulots d'étranglement et d'optimiser le plan de développement.

    Puis est la phase préparatoire, à ce stade, nous allons élaborer limiter les plans de déclassement et reprise après incident pour promouvoir grande partie de la transaction, comme le commerce pour la scène de pointe, préparera au moins deux ensembles de solution de gestion des stocks qui peuvent être mis dans le temps où un service échoue . Tout le processus de négociation pour confirmer si les déficiences de contrôle, complètent le développement d'une transaction potentielle pour chaque scénario d'échec lié à la découverte, de règlement et des plans de compensation, et la mise en uvre du corps spécifique responsable au règlement de la page du panier d'achat à la caisse enregistreuse. Et sera vérifié en testant la validité du module de détection de pression Link-local après le test est terminé avec tout le plan.

    Enfin, la phase de mise en uvre, même si cela des préparatifs complets, divers en ligne ou d'une situation imprévue qui pourrait survenir, en cas de défaut grande promotion, le principe est le premier arrêt dans le temps, ce temps pour préparer limitatives même fusible et d'autres plans il est de venir vraisemblablement à portée de main, et immédiatement commencer à analyser les raisons et rendre le coût minimum du programme de réparation, la libération immédiate de la ligne.

    De plus, ArchSummit sommet mondial architecte sujets d'évolution prévue dans l'infrastructure commerciale sont également invités à Google, micro-canal, les gros titres d'aujourd'hui et d'autres équipe technique de partager l'évolution au fil du temps évoluer leur architecture a connu, utilise ce que les nouvelles technologies pour résoudre quels problèmes l'avenir de l'expérience de l'architecture et de la planification et la récolte. Cliquez sur « Lire l'original » En savoir plus évolution de l'architecture de cas. Pour obtenir une aide d'inscription peut consulter l'assistant BEAN (micro lettre: aschina666, ou appelez 010-84780850)

    Les auteurs introduisent

    Ma Chao, NetEase soigneusement directeur technique choisi, en 2013 rejoint NetEase Division Courrier, ont été impliqués dans diverses activités de recherche et de développement de produits de boîte aux lettres NetEase. 2015 Mall responsable de la recherche et le développement soigneusement sélectionnés, ce qui conduit en deux ans pour achever la transformation et l'évolution de l'architecture technique plusieurs, soigneusement sélectionnés pour promouvoir le développement rapide de l'entreprise. Tout en menant l'équipe après plusieurs grande promotion, de garantir la stabilité du système. En haute concurrency, distribués, l'optimisation du système et la recherche d'affaires middleware et le développement et d'autres domaines a une richesse d'expérience pratique.

    texte recommandé aujourd'hui

    Cliquez ci-dessous pour lire l'image

    Vous voulez être un architecte, vous avez besoin de regarder quelques articles

    Enregistrer facilement la caméra dans les outtakes
    Précédent
    New Xiangjiang ce « super projet », secrétaire du gouverneur attiré par la « plate-forme »
    Prochain
    « Orient House » après avoir joué Chen Xingxu jeu finale difficile, de le mettre peine la plus sensationnelle aussi coupé?
    190327 Hamster Zhenzhen vrai marteau! Rire joue bouche Kim Suk a rebondi Jin ~
    « Ville comme » vous laissez l'amour à la haine Sony Xperia XZ2 premium
    algorithme de recommandation avancée Guide: 2 grands chapitre 10 modules et 51 parties de matériaux d'apprentissage
    « Jusqu'à VS » prêt pour la version bêta publique du renseignement de cinquième génération
    Han Xue participer au « Négociateur », mais grâce, « Je suis un acteur, » route go café Variété up?
    Ceci est probablement le plus élevé que j'ai jamais vu un tir de vente livre
    « Nous sommes très bien » Avare Suda Jiang, jouer à l'extérieur l'avant-garde de la mode? Ni rouge, un bon afflux d'hommes
    les ventes de jeux / matériel japonais en 2016 de 12,5 à 12,11 semaines
    Journée du poisson d'avril n'a pas oublié la nourriture pour chiens César! Lu Han Guan Xiaotong porter le chandail même paragraphe, montrent invisible d'affection idole comparable
    Kubernetes, Passé?
    Rip Van Winkle mariée