Введение
Дизайн архитектуры технологии IoT-устройства для сетевого шлюза (управление сеансами, управление сердцебиением, восходящая и нисходящая передача данных).
NioEventLoop — это реактор потока Netty. Его роль:
Это все настройки по умолчанию, вы можете не изменять их, но вам может потребоваться изменить порт TCP.
На основе Netty построен контейнер с длительным подключением TCP-шлюза, который предоставляет API-сервисы запросов на уровне шлюза.
Клиент обращается к TCP-шлюзу через доменное имя + порт, разные операторы связи соответствуют разным VIP, VIP публикуется на LVS, LVS перенаправляет запрос на HAProxy на бэкэнде, а затем HAProxy перенаправляет его на IP + порт Netty.
LVS пересылает запрос на HAProxy, запрос проходит через LVS, но ответ напрямую возвращается клиенту через HAProxy, это также режим DR LVS.
Шаги с первого по девятый — это последовательность создания серверной части Netty, шаги с десятого по тринадцатый — последовательность создания контейнера TCP-шлюза.
— Шаг 1: создать экземпляр ServerBootstrap, ServerBootstrap — это вспомогательный класс для запуска серверной части Netty. — Шаг 2: настроить и привязать пул потоков Reactor, EventLoopGroup — это пул реакторов Netty, EventLoop отвечает за все каналы, зарегистрированные в этом потоке. — Шаг 3: настройка и привязка канала сервера, Netty Server необходимо создать объект NioServerSocketChannel. — Шаг 4: создание ChannelPipeline при установлении соединения TCP, ChannelPipeline по сути является цепочкой обязанностей и выполнения ChannelHandler. — Шаг 5: добавление и настройка ChannelHandler, ChannelHandler последовательно присоединяется к ChannelPipeline. — Шаг 6: привязка порта прослушивания и запуск службы, регистрация NioServerSocketChannel в Selector. — Шаг 7: опрос селектора, EventLoop отвечает за планирование и выполнение операций опроса селектора. — Шаг 8: выполнение уведомления о событии сетевого запроса, опрос готового канала, выполнение ChannelPipeline EventLoop. — Шаг 9: выполнение Netty System и бизнес-ChannelHandler, планирование и последовательное выполнение ChannelHandler в ChannelPipeline. — Шаг 10: вызов бэкэнд-сервиса через прокси, после события ChannelRead отправьте расписание бэкэнд-службы. — Шаг 11: создание сеанса, сеанс и соединение взаимозависимы. — Шаг 12: создание соединения, сохранение контекста ChannelHandlerContext в соединении. — Шаг 13: добавить SessionListener, SessionListener отслеживает события SessionCreate и SessionDestory.
Windows: C:\Windows\System32\drivers\etc\hosts
Добавить: 127.0.0.1 iot-open.icloud.com
Расположение: com.ibyte.iot.test.server.TestTcpServer
Местоположение: com.ibyte.iot.test.client.TcpClient
Группа обмена
Группа обмена WeChat: WeChat | WeChat Public Account: Code Farmer Architecture |
![]() |
![]() |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )