Гонец 3.2а начал общаться по сети

Отличные новости - вышла версия 3.2а!


  • Виртуальная машина получила работу с синхронным пулом Го (sync.Pool), что позволило оптимизировать использование памяти при работе с регистрами и переменными в стэке вызовов.
  • Оптимизирована работа с переменными в окружениях
  • Появились первые базовые объекты метаданных: Сервер и Клиент
Подробнее о сервере и клиенте
Реализован собственный бинарный протокол общения интерпретаторов Гонец между собой, запущенных на разных серверах. Протокол простой, быстрый и компактный, TCP.

Используется бинарное представление встроенных типов виртуальной машины.

По протоколу всегда передается структура, которая может содержать вложенные структуры, массивы и значения.

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

Трафик шифруется алгоритмом AES128 (без усложнений, для скорости).

Работа клиента и сервера производится в горутинах, т.е. полностью параллельно, что можно увидеть по результатам ниже, в примере - видна хаотичная очередность обработки параллельных транзакций.

Обратите внимание, исполняемый ниже код из 10 соединений и отправки простых сообщений суммарно (сервер+клиент) потратил времени всего ... 2 миллисекунды!

Данный протокол в будущем позволит создавать горизонтально масштабируемые решения на кластере серверов с синхронизацией через нативный бинарный протокол.

В дальнейшем, будет расширение функционала сервера и клиента до обмена по протоколам HTTP(S) / JSON.

Пример работы с сервером и клиентом


Популярные сообщения из этого блога

Показатели эффективности персонала в сфере услуг

P2M: ЦЕННОСТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД К УПРАВЛЕНИЮ ИННОВАЦИОННЫМИ ПРОГРАММАМИ И ПРОЕКТАМИ

Д. Кейрси. ТЕМПЕРАМЕНТ И ХАРАКТЕР