Встречается на собеседованиях • сегодня

Какие есть способы взаимодействия компонентов в виде сервисов

В Python есть несколько основных способов взаимодействия между сервисами:

  1. REST API - самый распространённый способ через HTTP-запросы:
python
import requests
response = requests.get('https://api.example.com/data')
  1. gRPC - высокопроизводительный RPC-фреймворк от Google:
python
# Определение сервиса в .proto файле
service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}
  1. WebSockets - для двусторонней постоянной связи:
python
import websockets
async with websockets.connect('ws://example.com') as ws:
    await ws.send("Hello")
  1. Message Brokers (RabbitMQ, Kafka) - асинхронная коммуникация:
python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
  1. GraphQL - гибкий API-интерфейс для сложных запросов:
python
import graphene
class Query(graphene.ObjectType):
    hello = graphene.String()
    def resolve_hello(self, info):
        return "World"

Выбор зависит от требований к производительности, сложности и характеру взаимодействия.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы