اكتشاف الخدمة في الأنظمة الموزعة باستخدام مثال القنصل. ألكسندر سيجاتشيف

أقترح التعرف على فك تشفير تقرير Alexander Sigachev Service Discovery في الأنظمة الموزعة على سبيل المثال القنصل.


تم إنشاء Service Discovery بحيث يمكنك توصيل تطبيق جديد ببيئتنا الحالية بأقل تكلفة. باستخدام Service Discovery ، يمكننا فصل الحاوية في شكل عامل إرساء أو الخدمة الافتراضية عن البيئة التي يتم تشغيلها فيها.



أحيي الجميع! أنا ألكسندر سيغاتشيف ، أعمل لدى Inventos. واليوم سوف أعرض لكم مفهومًا مثل Service Discovery. سننظر في اكتشاف الخدمة على مثال القنصل.



ما هي المشاكل التي يحلها اكتشاف الخدمة؟


تم إنشاء Service Discovery بحيث يمكنك توصيل تطبيق جديد ببيئتنا الحالية بأقل تكلفة. باستخدام Service Discovery ، يمكننا فصل الحاوية في شكل عامل إرساء أو الخدمة الافتراضية عن البيئة التي يتم تشغيلها فيها.


كيف تبدو؟ في مثال الويب الكلاسيكي ، هذه هي الواجهة الأمامية التي تقبل طلب المستخدم. ثم يوجهها إلى الواجهة الخلفية. في هذا المثال ، يوازن هذا موازن التحميل على اثنين من الخلفية.



, . , , Service Discovery. Service Discovery load-balancer. Load-balancer backend . backend, , , .



Service Discovery?


Service Discovery nginx, backend-.



Service Discovery , .


?


  • , , Service Discovery, .
  • Service Discovery .
  • , Service Discovery, , , , .

, . , , , Service Discovery. , Service Discovery .


- , , , .



. Load-balancer nginx . , Consul. consul-template. . , ( Golang). , , , Service Discovery «reload». , nginx .



Consul?


  • – Service Discovery.


  • – Health Checking.


  • KV Store.


  • Multi Datacenter.



? KV Store . Health Checking . Multi Datacenter , . , Amazon , -, , , , .



, Consul .


  • Consul – , Go. Go – 1 , . .
  • , .
  • «datacenter» - .
  • Consensus – raft. , Consul. , .
  • Gossip – , . . - . , , . , .
  • LAN Gossip – -.
  • WAN Gossip – , -. , .
  • RPC – .

RPC. , Consul . . . , , .


, . , . , , , .



, . , . . , UDP/TCP. - . .



API Consul?


, API Consul.


DNS API. Consul 8600 . , DNS. IP-.


HTTP API – 8500 JSON , IP , host, . token.



, Consul?


, . Agent . . , .


– production. . , bootstrap , . . , . , , , . . , , bootstrap, . , .


. , , . , .



Health Checks?


Consul Json . – google.com. , 30 . , .


– . curl localhost 10 .


Service Discovery. , .



Consul UI-, . , .


«». , , Consul. . -, .



«Nodes». , -. , , . . , . - , .


Consul , .



: -, Consul ?


: - . – -, . . Consul.


: . . Consul -?


: . -. – - . , , , .


: , -, Service Discovery - , Consul?


: . , . , name, . Consul.


: UI . UI, , production-. ? ? - ?


: UI Service Discovery. .


: ?


: Consul localhost. , - proxy. .


: ? Health Checks. , .


: , .


: , .


: – .


: Service Discovery Consul ?


: . – , . , -, 1- . , , Kubernetes, . Kubernetes Service Discovery Etcd. , Consul. Service Discovery Consul.


: ? Consul , ?


: . , .


: Consul ?


: , . , , service.consul. . production , , , DNS.


: . . , Consul, , ?


الجواب: نعم. إذا عملنا على DNS ، فسيعمل بدون استخدام القنصل عندما نستخدم أسماء DNS. عادة لا تسحب التطبيقات الحديثة اسم المجال في كل طلب ، لأننا قمنا بتثبيت الاتصال ، وكل شيء يعمل ، وفي المستقبل القريب لا نستخدمه عمليًا. إذا انقطع الاتصال ، إذن - نعم ، نسأل مرة أخرى أين لدينا القاعدة ونذهب إليها.

Source: https://habr.com/ru/post/undefined/


All Articles