Toru Masuda </ strong> </ div>
Ce n'est pas un modèle éprouvé, mais cela inclut également ce que M. Masuda lui-même a pratiqué et l'histoire qu'il ne l'a pas pratiqué, mais cela peut fonctionner.
Extrait de Matériel de présentation
La technologie pour réaliser des micro-services est prête.
- Nuage
--Récipient
- Compétences en conception
⇒ Comment diviser le logiciel pour le rendre extensible
Ce sont des conditions nécessaires, pas des conditions suffisantes.
Cette fois, je parlerai des compétences en design
Extrait de Matériel de présentation
4 motifs pour le micro service
・ Distribué par l'équilibreur de route
Répartition de la charge
Diversification des risques
Distribution des données
・ Coopération de différents services
Répartition des fonctions
Cette fois, je parlerai de la partie distribution des fonctions
Extrait de Matériel de présentation
・ L'approche de base de M. Masuda en pensant à MSA
Faire avec monolith → Amélioration du module
↓
Examen de la possibilité de MSA (en considérant une application partielle)
↓
Prise en compte de la transition (compte tenu de l'application partielle)
・ Les bases des compétences de conception sont les mêmes pour les monolithes et les microservices.
Séparation des intérêts
Agrégation élevée / couplage lâche
modularisation
⇒ Peut être utilisé à la fois pour monolith et micro service
Schéma de principe du service
Extrait de Matériel de présentation
・ Idem pour monolith et un micro service
Il y a un entrant et un sortant
Obtenu de DB ou d'autres services via une source de données
-Dans MSA, le traitement asynchrone est souvent utilisé plus naturellement que dans le monolith, comme la réception asynchrone et l'envoi asynchrone, l'abonnement asynchrone et la publication asynchrone. L'asynchrone est une technologie utilisée depuis longtemps. Le service de messagerie cloud facilite la tâche.
La technologie de messagerie asynchrone existe depuis longtemps, mais le seuil de création et d'exploitation de mq par vous-même pour les applications à grande échelle était élevé, ce qui le rendait plus facile à utiliser dans le cloud et, par conséquent, asynchrone. La messagerie est devenue plus banalisée que par le passé.
Comme ça peut être petit
Extrait de Matériel de présentation
-Théoriquement, il s'agit d'une unité de méthode API Java.
Il y avait autrefois RMI (Remote Method Invocation). J'ai essayé de le faire méthode par méthode, mais cela n'a pas très bien fonctionné.
Il y avait CORBA.
・ La limite est la compétence cloud / conteneur / conception / opération
Dispersez-vous dans une certaine mesure tout en acquérant de l'expérience et passez à l'étape suivante tout en devenant compétent. Cela dépend du niveau de compétence et de l'expérience des compétences cloud / conteneur / conception / opération.
Comment petit
Extrait de Matériel de présentation
・ Division du module logique
Même un monolithe peut être activement divisé, et il peut être audacieux car il s'agit d'un monolithe.
Communication entre MSA
8 malentendus et vérités
Extrait de Matériel de présentation
Source: Explication des erreurs du calcul distribué
Il y a un trou ⇒ Il y a toujours une sorte de trou de sécurité.
4 approches séparées
Extrait de Matériel de présentation
Quelles sont les quatre coupes?
- Divisé par fonction commerciale (fonction commerciale)
- Verbes / cas d'utilisation (les user stories peuvent également être ici)
- Nomenclature / ressources (modélisation des données, etc.)
- Conception pilotée par domaine (DDD)
Division par fonction commerciale
Extrait de Matériel de présentation
Divisez le processus de vente en 21. C'est à peu près ce nombre.
Extrait de Matériel de présentation
・ Une grande maladie d'entreprise est introduite telle quelle.
・ Pour les grandes entreprises: les divisions sont divisées en fonction des fonctions commerciales pour créer des silos
・ Pour les petites et moyennes entreprises: les fonctions sont divisées, mais comme il y a peu de monde, elles servent également simultanément.
・ Est-ce que cela fonctionne si cela correspond à la "portée du travail d'ici à ici" que dit l'utilisateur?
・ La fonction commerciale et l'organisation sont un grand thème
・ Il peut être divisé en fonction du processus humain, mais cela devient un problème lorsqu'une coopération dans la direction opposée est requise.
Verbe / cas d'utilisation
Extrait de Matériel de présentation
・ De manière traditionnelle même avec monolithe
・ Facile à diviser en fonction des exigences de la fonction et de la portée du développement
・ Une duplication / fragmentation logique est susceptible de se produire. Par exemple, si différentes équipes réalisent des ventes et facturent ...
Cela devient un micro service pour chaque transaction
Une duplication et une fragmentation logiques sont susceptibles de se produire entre les services
La logique de domaine telle que les conditions de branchement est divisée
・ Le nombre de lots augmente. Il arrive souvent que des incohérences soient détectées dans le lot de nuit ou que le statut ait dû être modifié jusqu'à présent, mais le lot est cohérent.
・ Contre-mesure: service de cas d'utilisation minces
Divisez et organisez la logique par zone
Élimine la duplication et la fragmentation
Ceci est appelé par plusieurs services de cas d'utilisation
Extrait de Matériel de présentation
Orienté ressources
Extrait de Matériel de présentation
・ Différents intérêts sont mélangés et ont tendance à être gonflés. L'image de ballonnements en donnant diverses informations au numéro de client.
Monde des numéros d'identification
Un mélange de différents soucis et gonflé
⇒ Au départ, les petits clients sont passés à des centaines d'articles
・ MSA est un monde où JOIN ne peut pas être fait et où les restrictions de clé externe ne fonctionnent pas.
・ Je pense que le monolithe contient trop d'informations dans le numéro d'identification. Est-il nécessaire de séparer les unités de gestion? Les préoccupations doivent être séparées.
・ Cela peut être la façon de penser opposée avec un monolithe. Peut-être que même le même identifiant devrait être séparé
DDD
ne sait pas! (Lol)
Extrait de Matériel de présentation
・ Conception pilotée par domaine de style Evans et [Conception pilotée par domaine de style Vernon](https://www.amazon.co.jp/dp/ Dans 479813161X), la relation entre le contexte et le sous-domaine est différente.
・ L'impression que le livre d'Evans a plus d'informations sur la façon de concevoir.
・ Définition du style Evans
Contexte borné
Portée de la communication d'équipe
Source, schéma de base de données, etc.
・ Changement de sous-domaines ⇒ Il est dangereux de diviser par sous-domaine.
Contexte borné
Cible
Un modèle dans un contexte
Je vais considérer lequel vaincre
Que ce soit pour garder le modèle ensemble
S'il faut diviser le contexte
"Modèle" de conception pilotée par domaine
Extrait de Matériel de présentation
・ Modèle ≒ règles métier
(Ce n'est pas une interprétation exacte, mais elle est généralement correcte. Si vous l'interprétez ainsi, vous pouvez voir ce que dit Evans.)
・ C'est une approche très efficace pour diviser les services par domaine de règles métier.
Modèle de décomposition de transaction
Extrait de Matériel de présentation
・ Veuillez rechercher le matériel pour plus de détails.
⇒ On m'a dit, alors j'ai cherché un peu.
-
VETRO
-
・ [Introduction des modèles de conception Camel](https://rheb.hatenablog.com/entry/camel-design-patterns)
⇒ modèle VETRO
・ [Comment appliquer le modèle VETRO de Camel dans les micro-services](https://qiita.com/jian-feng/items/2ebaf103e50a24f8cfcc)
-
saga
-
・ [Introduction des modèles de conception Camel](https://rheb.hatenablog.com/entry/camel-design-patterns)
⇒ Modèle Saga
・ [J'ai essayé de résumer les transactions de microservice en utilisant le modèle TCC et le modèle Saga](https://qiita.com/nk2/items/d9e9a220190549107282)
⇒ Modèle Saga
・ [À propos du modèle Saga des microservices
](https://qiita.com/yasuabe2613/items/b0c92ab8c45d80318420)
・ [Transaction dans le microservice [Saga]](https://www.techscore.com/blog/2018/12/05/saga-in-microservices/)
-
Asynchronisation de la mise à jour de l'état (EH-SM-DSQ)
-
Je n'ai rien trouvé d'utile quand j'ai cherché sur Google,
- EH:Event History
- SM:State Materialize
- DSQ:Domain Specific Query
Donc, j'ai compris qu'il s'agissait d'un modèle pour enregistrer les événements sous forme d'historique et diviser les requêtes en fonction de leur objectif.
・ Une transaction à ce jour est trop importante pour le microservice.
・ Abandonnez le stéréotype selon lequel «en parlant d'enregistrement de commande, c'est une transaction». Est-ce vraiment le cas? Peut-il être divisé?
Tous les titres des sessions, liens matériels et twitter
Hashtag pour l'ensemble de l'événement: #jjug_ccc
10:00-10:45
11:00-10:45
12h00-12h45 (déjeuner)
Titre |
Présentateur |
twitter |
Déjeuner JJUG |
Yusuke Suzuki |
|
Environnement de développement et infrastructure d'application à l'ère du Cloud Native(Temporaire) |
Nobuhiro Sue |
|
13:30-14:15
14:30-15:15
15:45-16:30
16:45-17:30
17:45-18:30
Les blogs des personnes qui ont participé
・ J'ai participé au JJUG CCC 2019 Spring #jjug_ccc
https://www.grimrose.org/blog/2019/05/jjug-ccc-2019/
・ Je suis venu au JJUG CCC 2019 Spring #jjug_ccc
https://takeda-san.hatenablog.com/entry/2019/05/19/134053
・ Participé au "JJUG CCC 2019 Spring"
http://makopi23.blog.fc2.com/blog-entry-317.html
・ JJUG CCC 2019 Spring (#jjug_ccc) - Liste du matériel de session
https://yujisoftware.hatenablog.com/entry/2019/05/19/040112
・ 2019-05-18 JJUG CCC 2019 Printemps #jjug_ccc
https://note.mu/suwash/n/n5f5937986b25
・ [JJUG CCC 2019 Spring] Avancez le développement! Clean Architecture - S'exprimant sous le titre de Nouveau développement à partir de zéro
https://nrslib.com/event-after-jjug-ccc-2019-spring/
・ J'ai participé au JJUG CCC 2019 Spring (#jjug_ccc)
https://chichi1091.hatenablog.jp/entry/2019/05/18/224111
・ Je suis allé au JJUG CCC 2019 Spring
https://yachiy.hatenablog.com/entry/2019/05/18/221734
・ J'ai parlé pendant 20 minutes au JJUG CCC 2019 Spring #jjug_ccc # ccc_m5b
http://tadashi.hatenablog.com/entry/2019/05/18/201644
・ Honda Yoshitaka / ccc_a6.md
https://gist.github.com/hondaYoshitaka/3eccf0686e9988e70c3a07cc9071809c#file-ccc_a6-md
・ Record du JJUG CCC 2019 printemps
https://miyakawataku.hatenablog.com/entry/20190520/1558358694
・ Nous sommes montés sur scène au JJUG CCC 2019 Spring
https://www.project-respite.com/jjug-ccc-2019-spring/
・ Toru Masuda Je n'ai pas pu aller écouter "Microservice 4 split approach", mais on m'a dit donc je vais le résumer #jjug_ccc
https://taichiw.hatenablog.com/entry/2019/05/20/190605
・ Je suis allé au JJUG CCC 2019 Spring #jjug_ccc
https://kntmr.hatenablog.com/entry/2019/05/18/223621
・ Au JJUG CCC 2019 Spring, nous avons annoncé le test tout en faisant divers efforts! # jjug_ccc # ccc_e4
http://nihonbuson.hatenadiary.jp/entry/2019/05/20/080000
・ Je suis allé au JJUG CCC 2019 Spring
https://itatyo.hatenadiary.jp/entry/2019/05/20/095324
・ Résumé à expliquer de manière facile à comprendre à ceux qui comprennent mal "Java a payé"
https://togetter.com/li/1343743
・ JJUG CCC 2019 Parrainage du printemps / Rapport d'étape
https://engineering.linecorp.com/ja/blog/jjug-ccc-2019-spring-report/
・ J'ai participé au JJUG CCC en tant que personnel bénévole! !!
http://acro-engineer.hatenablog.com/entry/2019/05/22/120000
・ Bourse de printemps JJUG CCC 2019 LT
http://www.tomokosugimoto.net/drum/other/jjug_ccc/index.html
dernier
Nous mettrons à jour au besoin lorsque des matériaux seront ajoutés