Проект Distributed-tool
Это набор распространённых компонентов для распределённых систем. Включает в себя:
В настоящее время существует множество микросервисных систем разработки, и это связано с проблемой распределённого кластера. Если раньше можно было использовать API JMV для решения этих проблем, то в распределённой среде эти API недоступны. Поэтому требуется набор распределённых API для поддержки таких операций.
Обратите внимание: все компоненты на данный момент не являются потокобезопасными. При использовании многопоточности рекомендуется использовать несколько экземпляров или добавить собственную синхронизацию.
На данный момент проект состоит из двух модулей: distributed-tool и distributed-tool-test. Первый — основной исходный код. Второй — тестовый код. Distributed-tool включает следующие модули:
<dependency>
<groupId>com.xuanner</groupId>
<artifactId>distributed-tool</artifactId>
<version>1.3</version>
</dependency>
Инициализация (в настоящее время нижний уровень использует Redis для реализации, поэтому используется способ инициализации Redis)
Dt.getInstance().initJedis("xxx", 8380, "xxx");
Уничтожение (обратите внимание, что в конце жизненного цикла приложения следует добавить код уничтожения, например, в Spring в цикле destroy)
Dt.getInstance().getDefaultJedisFactory().destroy();
Пример использования распределённого списка
DtList list = Dt.newDtList("listName");
list.pushLeft(new String[] { "a", "b" });
list.popLeft();
list.close();//использование завершено, не забудьте закрыть
Пример использования распределённой блокировки
DtLock lock = Dt.newDtLock("lockName");
String kId = lock.tryLock();
//критическая логика ресурсов
lock.unLock(kId);
lock.close();//использование завершено, не забудьте закрыть
Дополнительные примеры использования: https://gitee.com/xuan698400/distributed-tool/wikis/.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )