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

OSCHINA-MIRROR/redkale-redkale

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
config.md 26 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 11:56 84b3ad0

Конфигурация

Конфигурация application.xml:

<!-- 
    Файл содержит:
        ${APP_HOME} указывает на корневой каталог текущей программы APP_HOME
        Если не указано, может существовать несколько уникальных узлов
        required: атрибут, который должен быть указан и не может быть пустым
-->
<!--     
    nodeid: int Идентификатор процесса, используемый в распределённой среде. В одной системе идентификатор узла должен быть уникальным. При использовании кластера структура будет проверять уникальность.
    name: Имя процесса для мониторинга. Правила именования: буквы, цифры, подчёркивание, дефис, точка.
    address: Локальный IP-адрес локальной сети. Значение по умолчанию — IP-адрес по умолчанию для сетевой карты. Если значение по умолчанию не используется, необходимо указать значение, например: 192.168.1.22
    port: required Порт управления сервером программы. Используется для закрытия или взаимодействия с системой управления данными.
    lib: Дополнительные пути к библиотекам. Несколько путей разделяются точкой с запятой. По умолчанию пусто. Например: ${APP_HOME}/lib/a.jar;${APP_HOME}/lib2/b.jar;
-->
<application nodeid="1000" port="6560" lib="">  

    <!--
       【Глобальный уникальный узел】 @since 2.3.0
        Глобально выполняемый пул потоков Serivce, Application.workExecutor. Если конфигурация этого узла не указана, он автоматически создаст один.
        threads: количество потоков. Значение по умолчанию: CPU * 10, где значение равно 2, значение по умолчанию равно 20. Значение 0 означает, что workExecutor не включён, и все операции выполняются в потоке ввода-вывода.
        clients: размер пула потоков обратного вызова клиента. Значение по умолчанию: CPU * 4
    -->
    <executor threads="4"/>

    <!--
    【Глобальный уникальный узел】 @since 2.8.0
        Настройка глобальной службы для выполнения запланированных задач. Если этот узел не настроен, он будет создан автоматически.
        enabled: следует ли включать функцию кеширования. По умолчанию верно
    -->
    <scheduled enabled="true"/>

    <!--
        @since 2.8.0
        Настройки глобального сервиса для кэширования. Если этот узел не настроен, он будет создан автоматически.
        name: имя менеджера кеша, по умолчанию ""
        enabled: Следует ли включать функцию кэширования. По умолчанию верно
        remote: имя ресурса удалённого CacheSource
        broadcastable: при наличии удалённого CacheSource следует ли широковещательно распространять изменения данных на другие кластерные службы. По умолчанию верно
    -->
    <cached name="" enabled="true" remote="xxx" broadcastable="true"/>
    
    <!--
       【Глобальный уникальный узел】
        Интерфейс управления сторонними службами обнаружения
        type: класс, должен быть подклассом org.redkale.cluster.ClusterAgent
        waits: после отмены услуги следует ли ждать периода проверки перед уничтожением услуги. Значение по умолчанию неверно
                После отмены услуги её нельзя немедленно уничтожить, поскольку проверка работоспособности имеет интервал времени. Необходимо подождать период проверки работоспособности, чтобы другие процессы могли обновить список услуг.
                Если используется MQ, вы можете установить значение false. Если требуется высокая надёжность услуги, рекомендуется установить значение true
        protocols: протоколы, которые могут обрабатываться службой обнаружения. Значение по умолчанию SNCP. Несколько протоколов разделяются точками с запятой
        ports: порты, которые может обрабатывать служба обнаружения. Несколько портов разделяются точками с запятой
        ttls: частота пульса, сколько секунд один раз
        xxxx: настраиваемые поля атрибутов, такие как источник в CacheClusterAgent и apiurl в ConsulClusterAgent
    -->
    <cluster type="org.redkalex.cluster.consul.ConsulClusterAgent" waits="false" protocols="SNCP" ports="7070;7071" xxx="xxx" />

    <!--
        Конфигурация интерфейса управления MQ
        Не может быть дублирования конфигурации разных узлов MQ.
        MQ следует за протоколом, поэтому атрибуты mq должны быть установлены в узле rest. Поскольку SncpServlet генерируется автоматически, атрибуты mq устанавливаются в узле service/services при использовании протокола SNCP
        name: название услуги для мониторинга. Может быть только один узел с пустым именем, если есть несколько узлов MQ. Имя mq не может повторяться. Правила именования: буквы, цифры, подчёркивание
        type: имя класса реализации, должно быть подклассом org.redkale.mq.MessageAgent
        threads: количество потоков, 0 означает использование workExecutor. Значение по умолчанию - это количество ядер процессора, значение по умолчанию 2 для версии JDK 21 и выше, виртуальный пул потоков используется по умолчанию
        rpcfirst: когда компоненты кластера и MQ имеют одно и то же имя, HttpRpcClient предпочитает использовать MQ. По умолчанию не предпочтительнее использовать MQ
        coder: класс анализатора MessageRecord, должен быть реализацией org.redkale.mq.MessageCoder<MessageRecord>. Может выполнять шифрование и дешифрование данных, значение по умолчанию org.redkale.mq.MessageRecordCoder
        В дочерних узлах MQ нет фиксированного формата конфигурации. Конфигурация зависит от определения реализации MessageAgent
    -->
    <mq name="" type="org.redkalex.mq.kafka.KafkaMessageAgent" rpcfirst="false" threads="4">
        <servers value="127.0.0.1:9101"/>
        <!--        
           Загружает все экземпляры MessageConsumer;
           autoload="true" значение по умолчанию. Автоматически загружает все классы MessageConsumer в classpath
           autoload="false" явно указывает класс MessageConsumer
           includes: Когда autoload = "true", загрузите класс, соответствующий регулярному выражению в includes. Несколько регулярных выражений разделяются точками с запятой
           excludes: Когда autoload = "true", исключите класс, соответствующий регулярному выражению в excludes. Несколько регулярных выражений разделяются точками с запятой
        -->
        <consumer autoload="true" includes="" excludes=""/>
        <!--
            Атрибуты конфигурации MQ-реализации
          type: тип атрибута конфигурации, допустимые значения: consumer или producer
        -->
        <config type="consumer">
            <property name="xxxxxx" value="XXXXXXXX"/>
        </config>
        <config type="producer">
            <property name="xxxxxx" value="XXXXXXXX"/>
        </config>
    </mq>
        
    <!--
        Группа содержит несколько узлов. Одна и та же услуга может предоставляться несколькими процессами. Эти процессы называются GROUP, и процессы в одной группе должны находиться в одном здании или локальной сети
        name: Идентификатор группы услуг, длина не должна превышать 11 байтов. Значение по умолчанию пусто. Обратите внимание, что name не может содержать символ $.
        protocol: значение может быть UDP или TCP, значение по умолчанию TCP
        nodes: несколько значений узлов; например: 192.168.0.1:6060,192.168.0.2:6060
        Обратите внимание, что узел может принадлежать только одной группе. Пока существует информация о сервере с протоколом SNCP, должна быть информация об узле group.
    -->
    <group name="" protocol="TCP" nodes="192.168.0.1:6060,192.168.0.2:6060"> **Текст запроса написан на языке YAML.**

**Перевод текста запроса:**

Один и тот же узел <node> может содержать только один узел <group>, то есть один и тот же addr+port может принадлежать только одной группе.

* addr: обязательный IP-адрес
* port: обязательный порт
```
<listener value="org.redkalex.xxx.XXXApplicationListener"/>
<properties load="config.properties">
    <property name="system.property.yyyy" value="YYYYYY"/>
    <property name="xxxxxx" value="XXXXXXXX"/>
    <property name="xxxxxx" value="XXXXXXXX"/>
    <property name="xxxxxx" value="XXXXXXXX"/>
</properties>
<server protocol="HTTP" host="127.0.0.1" port="6060" root="root" lib="">
<ssl builder=""/>
``` Когда autoload="true", извлекаются имена классов, соответствующие регулярным выражениям в includes, при этом несколько регулярных выражений разделяются точкой с запятой.

excludes: когда autoload="true", исключаются имена классов, соответствующие регулярным выражениям, при этом несколько регулярных выражений разделяются точкой с запятой. 

group: узел, принадлежащий группе. Нельзя указать несколько групп. Если в файле конфигурации существует несколько узлов сервера протокола SNCP, необходимо явно указать атрибут group. Атрибут group указывает, к каким узлам группы связан текущий сервер, когда protocol == SNCP. Когда protocol != SNCP, group может быть пустым или значением одного узла группы. Специальное значение "$remote" рассматривается как получение информации об IP-порту в удалённом режиме через сторонний сервис регистрации и обнаружения.

<!-- Значительно загружает интерфейс класса указанного сервиса -->
service value="com.xxx.XXX1Service"
<!--
name: явно заданное имя, которое заменяет пустое строковое значение по умолчанию. Обратите внимание: name не может содержать символ $.
mq: менеджер MQ, который используется, когда protocol == SNCP, и этот атрибут действителен. Наличие этого атрибута означает, что протокол SNCP службы использует режим прокси-сервера на основе шины сообщений.
group: явно указанная группа, которая заменяет группу по умолчанию в узле <services>.
ignore: по умолчанию false, что означает запрет.
-->
service value="com.xxx.XXX2Service" name="" group="xxx"
<!-- Добавляет свойства конфигурации к службе -->
service value="com.xxx.XXX1Service">
<!-- Значение свойства можно получить в методе public void init(AnyValue conf) через AnyValue properties=conf.getAnyValue("properties"). -->
<property name="xxxxxx" value="XXXXXXXX"/>
<property name="xxxxxx" value="XXXXXXXX"/>
</service>

<!-- Загружает все фильтры;
autoload="true" — значение по умолчанию.
autoload="false" требует явного указания класса фильтра.
includes: когда autoload = "true", извлекает имена классов, которые соответствуют регулярным выражениям. Несколько регулярных выражений разделяются точкой с запятой.
excludes: когда autoload = "true", исключает имена классов, которые соответствуют регулярным выражениям. Несколько регулярных выражений разделяются точкой с запятой. -->
filter value="com.xxx.XXX1Filter"
<!-- Явно загружает указанный класс фильтра -->
<!-- Добавляет свойства конфигурации в фильтр -->
filter value="com.xxx.XXX12Filter">
<!-- Значение свойства можно получить в методе public void init(AnyValue conf) через AnyValue properties=conf.getAnyValue("properties") -->
<property name="xxxxxx" value="XXXXXXXX"/>
<property name="xxxxxx" value="XXXXXXXX"/>
</filter>

<!-- Основные настройки ядра REST
Когда сервер использует протокол HTTP, узел rest эффективен. При наличии узла [rest] служба REST будет загружена при запуске сервера. Узел может иметь несколько (WATCH не требует настройки, система автоматически генерирует).
path: префикс ContextPath сервлета по умолчанию пуст. Примечание: это поле недействительно при включении MQ.
base: базовый класс Servlet для службы REST, который должен быть подклассом org.redkale.net.http.HttpServlet и помечен @HttpUserType.
mq: диспетчер MQ, который принадлежит, и это свойство действительно. Это свойство указывает, что запрос службы Rest исходит от шины сообщений. Примечание: поле path недействительно при активации MQ.
autoload: значение по умолчанию "true". Загрузить объект Service, который может использовать текущий сервер.
includes: при autoload = "true" извлекает имена классов, соответствующих регулярным выражениям. Несколько регулярных выражений разделяются точкой с запятой.
excludes: при autoload = "true" исключает имена классов, соответствующих регулярным выражениям. Несколько регулярных выражений разделяются точкой с запятой. -->
rest path="/pipes" base="org.redkale.net.http.HttpServlet" autoload="true" includes="" excludes="">
<!--
value: имя класса службы, список представляет собой службу объектов, которую необходимо загрузить.
ignore: если установлено значение true, объект службы не загружается, значение по умолчанию — false.
-->
<service value="com.xxx.XXXXService"/>
<!--
value: имя WebSocket, список представляет собой WebSocket-объект, помеченный @RestWebSocket, который необходимо загрузить.
ignore: если установлено значение true, RestWebSocket-объект не загружается, значение по умолчанию — false.
-->
<websocket value="com.xxx.XXXXRestWebSocket"/>

<!-- Узел уникален в <server>
Когда сервер использует протокол HTTP, эффективен узел request.
Узел remoteaddr: заменяет IP-адрес узла запроса. Обычно, если запрос пересылается статическим веб-сервером, таким как nginx, требуется настроить этот узел.
Значение value может начинаться только с request.headers.
Значение locale value должно начинаться с request.headers или request.parameters.
Пример: получение значения request.getRemoteAddr(), если заголовок существует X-RemoteAddress, возвращает значение X-RemoteAddress. Если заголовок не существует, возвращается значение getRemoteAddress(). -->
request>
<remoteaddr value="request.headers.X-RemoteAddress"/>
<locale

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/redkale-redkale.git
git@api.gitlife.ru:oschina-mirror/redkale-redkale.git
oschina-mirror
redkale-redkale
redkale-redkale
main