❝Прошло много времени с начала весны, а я все еще ношу толстую ватную куртку. Иногда в юго-западных глубинках ранним утром на балкон светит застенчивое солнце, но это лишь мимолетно. Эта сцена всегда будет напоминать мне солнечный свет перед моим домом ранним утром, когда я был ребенком. Когда я проходил сквозь туман и кедры, прекрасный эффект Тиндаля все еще свеж в моей памяти ❞.
Apache ShenYu — асинхронная, высокопроизводительная, межъязыковая, отзывчивая программа. API шлюз,ShenYuгомофонный дляШэнь Юй
,Я считаю, что историю о борьбе с наводнениями Даюя слышали и видели все потомки китайской нации.,Его конструкция основана на штекере,Функции расширения необходимо добавлять только в виде плагина.,Реально понял замену горячей,ShenYu сам по себе предоставляет нам огромное количество информации.,Включает преобразование протокола,Например, протокол http/https для протокола SpringCloud.,Протокол Даббо,Протокол Tars и т. д.,Безопасностьплагин,такие как jwt,знак и т. д.,Есть также текущие ограничения и т. д.,Суммируя,ShenYu очень эффективен для управления API.
Мы из плагина Шэнью,многопротокольный,горячая замена,правило Давайте поговорим об этих аспектах.,конечно,больше, чем это,О других вещах мы продолжим говорить позже.
плагин — основной в ShenYu,Преимущества использования плагина:,Не связано с кодом,Если вам нужно разработать новый плагин,Дальше вам останется только реализовать соответствующий интерфейс,Он абстрагируетShenyuPlugin
интерфейс,Просто нужно это реализовать,Просто определите свою собственную логику,Тогда, если вам нужно использовать этот плагин,Просто включи его,Когда не нужен,Просто закройте его.
Если вы использовали SpringCloud, мы знаем, что SpringCloud предоставляет шлюз SpringCloud. GateWay,он обеспечивает маршрутизацию,утверждение,Фильтры и другие функции,Мы можем настроить его, написав код или настроив yml и другие файлы.,Но он поставляется в комплекте с SpringCloud.,Мы используем SpringCloud, чтобы использовать его.,Более того, записывать информацию, связанную с маршрутизацией, через файлы конфигурации затруднительно.,Когда много служишь,Управление API становится громоздким,И API не может управляться усовершенствованным образом.,Хотя он обеспечивает динамическую маршрутизацию,Однако динамическая маршрутизация более профессиональная в настройке.,Требуется профессиональный персонал для настройки,Сравнение затрат,И ShenYu предоставляет визуальную страницу,Управление API может быть более удобным,Внутри Шэнь Ю,SpringCloud — это тоже просто плагин,Мы также можем управлять такими фреймворками, как Dubbo.
Я уже упоминал плагин ранее,Но с уровня кода,Горячая замена здесь с точки зрения использования.,Давайте приведем пример,Если API ограничен,Мы можем написать логику ограничения тока на уровне интерфейса.,Возможно использование классов параллелизма Java.,Или класс RaceLimiter в Guava.,Или Redis и другие решения для ограничения тока,Итак, вам нужно написать код,Это уже связано с кодом,конечно,Если дизайн разумен,Их также можно разделить,но,В определенной степени бизнес-код по-прежнему будет иметь определенные зацепки.,А ShenYu ориентирован на API.,Пока API проксируется ShenYu,Тогда вы сможете «делать все, что захотите» с API.,Если текущий системный трафик относительно велик,Затем вы можете динамически регулировать ограничение тока,кэш и т. д.,Подождите, пока пик паводка пройдет.,Вы можете внести изменения или закрыть плагин напрямую.,Это максимально защитит систему.
в целом,Его горячая замена,«Приходи, когда понадобится.,Эвакуируйтесь в любой момент, когда вам понадобится эвакуироваться».
правило — это ключевой момент в ShenYu.,Если мы использовали механизм правил,Тогда в нем будет определено много условий,Какая логика выполняется в соответствии с какими условиями выполняются?,в коде,if/else также является суждением о правиле,Правило ShenYu также является определяющим условием.,когда условия соблюдены,Просто выполните соответствующую логику,Его право принадлежит селектору.
ShenYu будет соответствовать согласно правилу,Дайте каштан,Если нам нужно выполнить кэш по результатам API,Дальше вам останется только добавить uri соответствующего API в кэшплагин.,но Реальность может быть непредсказуемой,Необходимо провести кэш из разных измерений,Тогда вы можете добавить правило,Например, по параметру запроса кэш,кэш по ip адресу,Или по кэшу доменного имени и т. д.,Затем вы можете добавить несколько условий,ShenYu обеспечивает многомерное правило,Например, заголовок запроса,параметр,uri,ip,печенье и т. д.,При фактическом использовании вы можете настроить его в соответствии со своими потребностями.,для снижения нагрузки на сервер.
Выше кратко говорилось о некоторых особенностях ShenYu. Я не говорил об этом слишком много на уровне кода, я просто рассказал о нем на функциональном уровне. Позже я расскажу о его принципах и коде. будем поражены этим. Если нам нужно хорошее управление API, и я считаю, что ShenYu — очень хороший выбор.
❝На сегодня все, спасибо за просмотр, увидимся в следующем выпуске!❞