1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/smartboot-smart-socket

Клонировать/Скачать
README.md 6.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 20:25 9e4dcb4

Smart-socket

Smart-socket — это коммуникационная структура AIO (асинхронный ввод/вывод), которая расширяет возможности нативной реализации JDK.

Иными словами, smart-socket на 100% соответствует определению интерфейса AIO в JDK, но предоставляет собственную реализацию кода. Это обеспечивает более высокую производительность связи, меньшее потребление ресурсов и более стабильную работу по сравнению с официальной реализацией AIO от JDK.

Документация: https://smartboot.tech/smart-socket/ Наши пользователи: https://smartboot.tech/smart-socket/users.html

Почему был разработан smart-socket?

AIO представляет собой концепцию разработки, ориентированную на удобство использования для разработчиков, и заслуживает более широкого применения. Нативная реализация JDK имеет проблемы с производительностью, так как её модель потоков ограничивает эффективность планирования ввода/вывода. Также нативная реализация JDK может иметь проблемы с потреблением ресурсов, поскольку при увеличении количества соединений возрастает потребность в памяти, что затрудняет поддержку миллионов подключений на серверах с низкими характеристиками. Кроме того, нативная реализация JDK иногда сталкивается с проблемами стабильности, например, на Mac-системах могут происходить необъяснимые сбои. Наконец, нам нужна коммуникационная платформа, которая проще в использовании, чем Netty.

Особенности проекта:

  1. Высокая производительность, высокая степень параллелизма, низкая задержка и экологичность.
  2. Небольшой объём кода и высокая читаемость. Основной код содержит менее 1500 строк, а структура проекта отличается чёткой иерархией пакетов.
  3. Низкий порог входа. Для вторичной разработки требуется реализовать только два интерфейса (Protocol и MessageProcessor). Опытным разработчикам, знакомым с коммуникационными технологиями, практически не нужно изучать новые концепции.
  4. Хорошо продуманные модели потоков и управления памятью, обеспечивающие эффективную и стабильную работу сервиса.
  5. Поддержка пользовательских плагинов. Уже доступны разнообразные плагины, включая SSL/TLS для обеспечения безопасности связи, Heartbeat для мониторинга состояния соединения, Retry для восстановления после сбоев, Metrics для сбора статистики о работе сервиса, Blacklist для блокировки нежелательных IP-адресов, PoolMonitor для контроля за использованием памяти и другие.

Экосистема проектов:

Рекомендации:

Рейтинг производительности:

Изображение: image.png

Список плагинов:

Plugin 用途
BlackListPlugin 黑名单插件,smart-socket会拒绝与黑名单中的IP建立连接
BufferPageMonitorPlugin 内存池监控插件
HeartPlugin 心跳插件
MonitorPlugin 服务指标监控插件
SocketOptionPlugin 连接属性配置插件
SslPlugin TLS/SSL加密通讯插件
StreamMonitorPlugin 传输层通讯码流监控插件

Благодарности:

Благодарим Gitee за предоставление хостинга кода и услуг Pages в прошлом. Благодарим Github за хостинг кода и текущие услуги Pages. Благодарим JetBrains за лицензию IDEA, предоставленную для smart-socket.

Присоединяйтесь к сообществу:

Официальные группы QQ: 172299083, 830015805. Условия присоединения:

  1. Обычные пользователи должны сделать пожертвование в размере 5 юаней (https://smartboot.tech/donation.html) и указать свой номер QQ. Мы проведём ручную проверку перед одобрением заявки.
  2. Корпоративные пользователи должны зарегистрировать свой случай использования (https://gitee.com/smartboot/smart-socket/issues/IHV69) и указать название компании при запросе на присоединение. Сканируйте QR-код внизу, чтобы подписаться на официальный аккаунт Three Knife.
1
https://api.gitlife.ru/oschina-mirror/smartboot-smart-socket.git
git@api.gitlife.ru:oschina-mirror/smartboot-smart-socket.git
oschina-mirror
smartboot-smart-socket
smartboot-smart-socket
master