16 червня, Харків - Java: пишемо SOCKS4 / 5 proxy server на 10.000 сполук.

Що розглянемо:

Пишемо "з нуля" кілька варіантів SOCKS4/5 proxy server на блокуючий сокетах (java.net), неблокирующих синхронних (java.nio, Java 1.4.2 +), неблокирующих асинхронних (java.nio, Java 7 +). Використовуємо патерни Thread-per-Request, Thread-per-Connection, Reactor, Proactor, Asynchronous Completion Token, Half-Sync/Half-Async. Попутно розглянемо ряд багатопоточних патернів, виділення пам'яті за межами java heap, ціну багатопоточності (context switch, "охолодження" кеша), Staged Event-Driven Architecture (SEDA), Netty framework, взаємодія NIO та SSL/TLS і багато іншого.

Мета - розібратися в Java як платформі для мережевих High-Scalable/High-Throughput/Low-Latency серверів.

Чому SOCKS4/5 proxy server? Один з найпростіших в реалізації мережевих протоколів вимагають підтримки великої кількості одночасно відкритих TCP-з'єднань. Для демонстрації працездатності легко використовувати будь броузер з підтримкою SOCKS-proxy.

Альтернативами могли б бути - HTTP 1.1 сервер орієнтований на підтримку великої кількості Connection: keep-alive з'єднань (для COMET-орієнтованих клієнтів), чат-сервер, ігрові сервера для MMORPG, сервер для підтримки HTML 5 WebSocket, сервер роздачі потокового аудіо/відео. У кожному з випадків мова йде про підтримку порядку 10.000 паралельних клієнтів.

Про автора:

Головач Іван - 30 років, Java Coding Architect, досвід роботи як в стартапи так і в компанії з Кремнієвої Долини, кращий студент Україні в галузі прикладної математики 2002 року, кращий студент Харківського Політеху в галузі прикладної математики весь час навчання (1998 - 2003), Multithreaded/Distributed algorithms specialist, викладав спецкурси з багатопотоковий/розподіленим алгоритмам на мех-маті Харківського Національного Університету, навчав Java junior-ів в EPAM. Область наукових інтересів: системи типів мов програмування з точки зору теорії категорій, принципові співвідношення між масштабованістю сховища і консистентним даних. Області інтересів також можна простежити за публікаціями в блозі .

Реєстрація: +1 в коментарях тут.

Опубліковано: 08/06/12 @ 02:19
Розділ Блоги

Рекомендуємо:

Інтерв'ю - Вадим Вайлдович, автор блога wildo.ru
Навчання в Інтернеті
Інтернет -реклама. Контекстна реклама сайту
Дайджест цікавих вакансій № 36
Які зміни несуть прийняті законопроекти № 9744 і № 8267 в ІТ -галузь України?