En tant que programmeur, quelle est la plus grande tristesse que vous ressentez? L'entrevue d'emploi Java de 2021 dans une grande usine vous demandera:

Code, petit frère. 2021-09-15 05:17:04
en tant que programmeur quelle


RPCGénéralités

RPC(Remote Procedure Call)C'est - à - dire l'appel de procédure à distance,Permettre à un ordinateur d'appeler un programme sur un autre ordinateur pour obtenir des résultats,Et aucune programmation supplémentaire n'est nécessaire dans le Code,C'est comme appeler localement.

Aujourd'hui, les applications Internet sont de plus en plus nombreuses,La capacité d'un seul ordinateur est limitée,Besoin d'un Cluster informatique extensible pour compléter,Les applications distribuées peuvent utiliserRPCPour compléter les appels entre les machines.

RPCPrincipe du cadre

InRPCIl y a trois rôles principaux dans le cadre:Provider、ConsumerEtRegistry.Comme le montre la figure ci - dessous:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Programmeur

Description du rôle du noeud:

  • Server: Fournisseurs de services qui exposent les services.

  • Client: Consommateur de services appelant un service à distance.

  • Registry: Registre des services et des découvertes.

RPCProcessus d'appel

RPCOrganigramme de base:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Arrière - plan_02

Une seule foisRPCProcessus d'appel(Appel synchrone,Asynchrone.)Comme suit:

1)Consommateurs de services(client)L'appel appelle le service comme un appel local;

2)client stubPrendre en charge la méthode après avoir reçu l'appel、Les paramètres, etc., sont assemblés en un corps de message capable d'être transmis par le réseau;

3)client stubTrouver l'adresse du service,Et envoyer le message au serveur;

4)server stubDécodage après réception du message;

5)server stubAppeler le service local en fonction des résultats du décodage;

6)Le service local exécute et renvoie les résultats àserver stub;

7)server stubEmballez les résultats retournés dans un message et envoyez - les au consommateur;

8)client stubMessage reçu,Et décoder;

9)Le consommateur de services obtient le résultat final.

RPCL'objectif du cadre est de:2~8Ces étapes sont encapsulées, Rendre les utilisateurs transparents sur ces détails .

Inscription au service&Découverte

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Programmeur_03

Le fournisseur de services enregistre activement la machine dans le registre après le démarrage ip、port Et la liste des services offerts ;

Les consommateurs de services obtiennent une liste d'adresses des fournisseurs de services auprès du registre au démarrage , Équilibrer les charges douces et Failover;

La technologie utilisée

1、Agent dynamique

Générer client stubEtserver stubBesoin d'utiliser Java Technologie des agents dynamiques ,On peut utiliserJDKAgent dynamique natif,Certains cadres d'outils open source Bytecode sont disponibles Par exemple::CgLib、JavassistAttendez..

2、Sérialisation

Pour pouvoir transmettre et recevoir sur le réseau JavaObjet,Nous devons le faire Opérations de sérialisation et de désrialisation.

  • Sérialisation:Oui.JavaObjet converti enbyte[]Processus,C'est le processus de codage;

  • Désérialisation:Oui.byte[]Convertir enJavaProcessus de l'objet;

Peut être utiliséJavaMécanisme de sérialisation natif,Mais très inefficace,Certaines sources ouvertes sont recommandées、Technologie de sérialisation éprouvée,Par exemple:protobuf、Thrift、hessian、Kryo、Msgpack

Pour une comparaison des performances des outils de sérialisation, voir:jvm-serializers

3、NIO

Il y a beaucoup deRPCLes cadres sont tous directement basés surnettyCelui - là.IOCadre de communication,Comme celui d'AlibabaHSF、dubbo,Hadoop Avro,RecommandéNetty En tant que cadre de communication sous - jacent.

4、Registre des services

Technologie optionnelle:

  • Redis

  • Zookeeper

  • Consul

  • Etcd

Pratiques de programmation: L'écriture est nécessaire pour réaliser une architecture de trafic Multi - niveaux RPCCadre

Contenu vidéo

1、 Pourquoi le trafic Multi - niveaux est - il distribué? 、 Toutes les architectures de microservice RPC?
2、Qu'est - ce queRPC?
3、AnalyseRPCEtHTTP
4、RéalisationRPC Cadre quels problèmes devons - nous résoudre? ?
5、Analyse spécifique des problèmes spécifiques, Résolution et mise en œuvre individuelles !
6、 Débit à payer de 10 millions de niveaux , Ça suffit? ? Repenser notre réalisation .
7、DubboEtSpringCloudLequel est le meilleur??

DockerPratique étape par étape

Table des matières documents:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Java_04

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Java_05

①DockerIntroduction

②Concepts de base

③InstallationDocker

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Java_06

④Utiliser un miroir:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Programmeur_07

⑤Manipulation des conteneurs:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Java_08

⑥Accès à l'entrepôt:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Arrière - plan_09

⑦Gestion des données:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Arrière - plan_10

⑧Utilisation du réseau:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Java_11

⑨Configuration avancée du réseau:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Java_12

⑩Sécurité:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Arrière - plan_13

?Mise en œuvre sous - jacente:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Programmeur_14

?Autres projets:

En tant que programmeur,Quelle est votre plus grande tristesse?,2021Grande usineJavaQuestions obligatoires pour l'entrevue d'emploi,_Java_15

 CodeChinaProjet Open Source:【Grandes usines de première ligneJavaAnalyse des questions d'entrevue+Résumé de base notes d'étude+Dernière vidéo d'explication】

版权声明
本文为[Code, petit frère.]所创,转载请带上原文链接,感谢
https://qdmana.com/2021/09/20210915051654195E.html

  1. The new front-end lady asked: there was a 404 problem refreshing the page in Vue routing history mode
  2. A Simple Css Meun
  3. Vue modifier dynamiquement le style de l'élément externe du composant
  4. Vue V - si problème non valable
  5. N'osez pas vous opposer à l'intervieweur et obtenir des commentaires personnels des stagiaires d'offer Ali après cinq rondes d'entrevue.
  6. Améliorer continuellement leur capacité à créer des primes, et les questions d'entrevue Java d'Alibaba Huawei Tencent et d'autres grandes usines sont sautées en octets.
  7. The new front-end lady asked: there was a 404 problem refreshing the page in Vue routing history mode
  8. vue v-if未生效問題
  9. Je ne comprends pas comment la machine virtuelle JVM peut encore interviewer, et j'ai terminé ce dictionnaire d'entrevue Java de 1307 pages.
  10. Dongxh, mid autumn festival gifts 🥮, [CSS starry sky realization, Mid Autumn Festival poem]
  11. What if you want to see the moon and don't want to go out
  12. Mid Autumn Festival, Chang'e looks at the moon
  13. Mid Autumn Festival special! Use the simplest animation animation to make the most local and trendy holiday blessing greeting card. This romantic male and female tears of Xiao Chen.
  14. [Pixi] super beautiful! How to make mid autumn festival scene level animation!!
  15. Echarts realizes the rotation of the moon (super simple, you can see it at a glance)
  16. Dart mixin full resolution
  17. Some suggestions on Vue code readability | comments are rewarded
  18. 120 lines of code to achieve pure web video editing
  19. Yang yangsun took a selfie to celebrate his 30th birthday, and Wang Yanlin sent blessings.
  20. Comment passer une entrevue avec une entreprise Internet de première ligne, Android Classic Getting started tutoriel
  21. Comment essayer un développeur Android vraiment niveau, 【 résumé de l'entrevue 】
  22. Wang Ou went back to the hotel with the man at night. It was suspected that his relationship was open. The netizen replied mercilessly: is the man single
  23. 借助HTML ping属性实现数据上报
  24. APNG在线制作、兼容、播放和暂停
  25. Apng production, compatibilité, lecture et pause en ligne
  26. Mise en œuvre de l'escalade des données avec l'attribut de Ping HTML
  27. Comment envoyer 100 000 requêtes http le plus rapidement possible
  28. JQuery Basics
  29. Front and back end data interaction (V) -- what is Axios?
  30. Serverless is a model architecture invented driven by economic benefits- Grady
  31. Les questions d'entrevue pour les ingénieurs Java d'Internet, les intervieweurs rencontrés sont tous de niveau architecte,
  32. Cinq ans d'entrevue d'expérience en développement Java, découvrez les questions que vous devez poser lors de l'entrevue d'embauche du printemps Java de cette année.
  33. La dernière collection de questions d'entrevue Java haute fréquence organisée cette année, 2021 Java Universal Popular Framework
  34. Intel selected Weilai es8 to promote driverless taxis in Europe
  35. JavaScript operator (1), Web Development Engineer
  36. Trier les questions d'entrevue Javascript, trier les points de connaissance des itinéraires d'apprentissage
  37. Song Mengjun's "sleepless night" triggered an upsurge of dance storm after 00
  38. Module management of "free and open source" front-end spa project crudapi background management system based on Vue and Quasar (14)
  39. Encapsulated PHP sends HTTP requests with curl. Get and post are very easy to use
  40. Front and back end data interaction (V) -- what is Axios?
  41. Flutter: résoudre le futur blocage en utilisant Isolate
  42. Résumé des opérations courantes pour les données de structure de l'arbre frontal
  43. Ant Design Transfer Twin Tree Shuttle box "make Wheels"
  44. De la carte de pensée à la base et à l'approfondissement, prenez note de l'expérience d'entrevue d'un octet sautant le poste de recherche et développement Java.
  45. Apprenez les composants d'implémentation de vue et Publiez - les à NPM
  46. [Questions d'entrevue à haute fréquence] À vous de choisir
  47. Une faible connaissance de beginpath () provoque une superposition de style lors de la peinture d'un dessin en toile
  48. React Hooks, laisse - moi t'emmener étudier.
  49. Comment la copie profonde résout - elle les références circulaires?
  50. JavaScript Advanced Programming (3rd Edition) Reading note 6
  51. Analyse de l'URL
  52. Discussion préliminaire sur xss
  53. Solution: développement de la page Web Wechat, obtenir la fosse Piétinée par le flux d'entrée de la caméra via navigator.mediadevice.getusermedia ()
  54. Des milliers de questions d'entrevue sélectionnées n'ont pas encore ét é effacées.
  55. Les questions d'entrevue de niveau intermédiaire et avancé d'Android au fil des ans sont entièrement incluses, et l'algorithme est distribué microservice
  56. J'ai résumé toutes les questions d'entrevue.
  57. Compréhension de la réactivité des données de vue
  58. Note de service CSS (vi): Flex, page mobile et mise en page réactive
  59. JavaScript Review sketch - 1
  60. Analyse du bootstrap webpack