Яндекс відкрив вихідний код проксі-сервера Odyssey для PostgreSQL
Яндекс відкрив вихідний код проксі-сервера Odyssey для PostgreSQL
На GitHub з'явився вихідний код проксі-сервера Odyssey. Він призначений для підключення відкритих з'єднань до системи управління PostgreSQL і маршрутизації запитів.
Проект знаходиться на стадії бета і заснований на движку співпрограми Machinarium. Вона створює додатки для обробки подій в асинхронному режимі без callback-дзвінків. Код написаний на Сі та поширюється по системі BSD.
Взаємодія Odyssey та PostgreSQL
Odyssey обробляє з'єднання за допомогою багатопотокових процесів, що відповідають за перевірку справжності запитів та їх проксування. До списку можливостей входять:
- стеження за транзакціями та їх скасування у випадку від'єднання клієнта;
- автоматичне підключення до попереднього клієнта у випадку повторного з'єднання;
- визначення з'єднань з різними системами аутентифікації, режиму роботи та обмежень завдяки прив'язці до користувача або бази даних;
- робота з SSL/TLS з можливістю блокування користувачів для різних наборів з'єднань;
- підтримка UUID для ведення лога підключень та виявлення помилок з клієнтами.
Реліз PostgreSQL 10 відбувся у жовтні 2017 року. У новій версії розробники покращили паралельне виконання запитів і додали логічну реплікацію.