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

OSCHINA-MIRROR/didiopensource-GateKeeper

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

url_rewrite

[[http.items]] тип поля = "текстовое поле" отображение поля = "блок" очистка поля = "нет" заполнитель поля = "Формат: ^/test_service(.*) $1\nНесколько строк, пожалуйста, с переносом" опция поля = "" значение поля = "" значение по умолчанию = "" уникальное имя поля = "rewrite_rule" имя отображения поля = "URL-переписывание" обязательное поле = ложь действительное правило = "/^[\S]+ [\S]+$/is"

Далее откройте терминал управления и измените информацию о службе ответа.

Рисунок 1. Аватар (доступен по ссылке: http://img-hxy021.didistatic.com/static/itstool_public/do1_d18zzT6DBk9zXHwq3AdN).

Наконец, можно вызвать промежуточное программное обеспечение в ответе.

func HTTPUrlRewriteMiddleware() gin.HandlerFunc {
    return func(c *gin.Context) {
        serviceDetail, err := model.GetServiceDetailFromGinContext(c)
        if err != nil {
            public.ResponseError(c, 2001, err)
            c.Abort()
            return
        }
        rewriteUrl := serviceDetail.PluginConf.GetPath("url_rewrite", "rewrite_rule").MustString()
        ...
        c.Next()
    }
}

Тестирование производительности

GateKeeper сравнивается с другими известными API-шлюзами в отрасли: APISIX, Nginx, HAProxy, Kong, manba. Аппаратная конфигурация: 128 ГБ, 40 ядер Intel(R) Xeon(R) Silver 4114 2,20 ГГц. Параметры тестирования: wrk -t50 -c500 -d30s --latency "http://xxxx/xxxx/"

Рисунки 2–4. Аватары (доступны по ссылкам: http://img-hxy021.didistatic.com/static/itstool_public/do1_E82bzkP6K8qaiUhmgkdA, http://img-hxy021.didistatic.com/static/itstool_public/do1_pDPElgrgBdBpMyVHafkF, http://img-hxy021.didistatic.com/static/itstool_public/do1_y5gXsG6Kx9yhEk6FsAPE).

Из анализа этих рисунков нетрудно сделать вывод, что характеристики производительности GateKeeper:

  • При высокой нагрузке параллелизм может достигать требований основных шлюзов.
  • Использование памяти при высокой нагрузке выше, чем у аналогичных программ.
  • Задержка 99-го процентиля при высокой нагрузке самая низкая среди аналогичных программ.

Примечание: все службы имеют стандартную установку без оптимизации, результаты тестов на разных компьютерах могут отличаться. Дополнительная информация будет добавлена позже.

Автоматизированное интеграционное тестирование

Автоматизированное интеграционное тестирование.

Комментарии ( 0 )

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

Введение

Высокопроизводительный шлюз на Golang, который поддерживает быструю разработку и возможность плагинизации. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/didiopensource-GateKeeper.git
git@api.gitlife.ru:oschina-mirror/didiopensource-GateKeeper.git
oschina-mirror
didiopensource-GateKeeper
didiopensource-GateKeeper
master