Corratec baco x vert

5 лучших велосипедов mtb 2019 по версии Bicycling

Есть одна поправка: «5 пока что лучших велосипедов mtb 2019» (так написали наши американские коллеги). Ну, до конца этого года считанные дни. Так что вряд ли ситуация изменится глобально.

  • А вы не забыли подписаться на наш канал Telegram?

Разумеется, дисциплина mtb — понятие довольно растяжимое. Тут и даунхилл, и кросс-кантри, и фрирайд… И в каждой из дисциплин свои лучшие велосипеды. И даже их лидерство в конкретной отрасли часто оспаривается. Посему ниже приведенные байки — не рейтинг, не топ, и их «лучшесть» в довольно условна. Грубо говоря, это «усредненные» варианты, которые угодят «и вашим, и нашим». По крайней мере так написали редакторы американского Bicycling. Так что же за велосипеды?

  • Вам будет интересно узнать: за 2019 в отрасли производства mtb обрели популярность короткие задние перья + более длинные вилки, а также доработанная геометрия рамы и улучшенные подвески. Это делает байки более устойчивыми, более безопасными на крутых склонах и в целом более плавными. То есть длинная рама теперь не означает «хорошо», так как с ней велосипед менее устойчив на медленных скоростях и труднее маневрирует на пересеченной местности. По крайней мере так считают редакторы Bicycling.

Ну а теперь велосипеды. Поехали!

Cannondale Bad Habit 2

  • 27,5-дюймовые колеса и 2,8-дюймовые шины.
  • Алюминиевая рама.
  • Низко расположенные задние перья, что означает «больше ударов педалями о почву».
  • Цена: $2,625.

На Bad Habit 2 «Кэнноны» сменили 29-колеса на 27,5. «Для большей тяги и лучшей проходимости, а также для более уверенного и стабильного ощущения», — объясняют американцы, почему они пошли на такие радикальные «колесные» изменения. Задняя подвеска превосходна, как и недорогая, но качественная алюминиевая рама. Cannondale Bad Habit 2 — педальный седан, на котором вы будете себя комфортно чувствовать на любой скорости в условиях любой местности.

  • ВНИМАНИЕ: в ролике — карбоновый CannondaleBadHabit2. Поэтому цена существенно отличается.

Trek Supercaliber 9.9

  • Технология TrekIsoStrut(подвес интегрирован в раму велосипеда).
  • Блокировка переднего и заднего амортизаторов.
  • Возможность «взять на борт» две фляги.
  • Цена: $9,500.

Trek Supercaliber 9.9 — самая свежая попытка американцев создать совершенный гоночный байк для XC, объединяющий лучшие характеристики жесткой хвостовой части (упругость, малый вес) и полной подвески (тяга, комфорт, контроль). И, судя по отзывам Bicycling, это самая близкая к совершенству машина с задним ходом 60 мм.

В основе — конструкция Trek IsoStrut, которая помещает амортизатор Fox Float в верхнюю трубу. Мы долго можем описывать, как это работает. Но лучше взгляните сами:

  • Бренд-менеджеры говорят, такая конструкция исключает вращение вокруг ударного вала и боковую нагрузку на вал, благодаря чему байк теперь обладает ощущением жесткого хвоста и в целом повышенной жесткостью,но при этом имея реальную полную подвеску (для лучшего комфорта и контроля).

Marin Hawk Hill 3

  • Хорошая подвеска.
  • Приличное, но не отличное педалирование.
  • Цена: $2650.

«Прошлогодняя модель велосипеда нам настолько понравилась, что мы не смогли отыскать ей достойного конкурента. А в 2019-м Marin представили еще более совершенную версию. Так что теперь перед новеньким Hawk Hill 3 мы окончательно стоим на коленях. Не последнюю роль в этом играет цена велосипеда. За такие деньги — довольно солидный комплект», — поют оды байку редакторы Bicycling.

Аппарат получил угол наклона головки на 1°, качественную подвеску с увеличенным запасом хода, хорошими деталями и в целом «бодренькой» ездой. «Скатывайтесь вниз, взбирайтесь в горы, ныряйте в болота… Он проедет везде. Мы не знаем мест, где бы Marin Hawk Hill 3 не смог справиться со своей задачей», — продолжают хвастать американцы этот велосипед. Наверное, проплачено…

Scott Contessa Scale 900

  • Рама, прощающая любые ошибки.
  • Комфортное седло.
  • Более гоночный, нежели для chill’а.
  • Цена: $2,090

Идеальный байк для трасс с умеренными техническими характеристиками и высокой скоростью. Фреймсет — карбон, сотканный по технологии EvoLap скоттовский» эксклюзив, придающий раме жесткости). На борту — вилка Fox Float Rhythm со 100-миллиметровым запасом хода, что «снимает остроту» и может регулироваться на ходу с помощью переключателя RideLoc на руле.

Еще один примечательный момент — кассета со звездами на 11-50 зубьев. С такой можно ползти хоть на Эверест.

Norco Fluid FS2

  • Классический набор комплектующих.
  • Неклассические 2,6-дюймовые шины MaxxisForekaster.
  • Вес — почти 15 кг.
  • Цена: $2,400

Norco Fluid FS 2 — это захватывающая, отзывчивая и упругая поездка, которая по цене является очень привлекательной. Байк имеет 120-мм запаса хода подвески и ведет себя стабильно, даже на самых «хардовых» трассах. И помогают ему в этом 2,6-дюймовые Maxxis Forekaster.

Алюминиевая рама имеет амортизатор RockShox Deluxe R, а вилка — RockShox Sektor RL с запасом хода 130 мм дает немного больше отдачи и отскока спереди (очень удобно, если нужно подниматься и преодолевать большие камни да бревна). Вы также получаете отличную трансмиссию SRAM NX 1x11 и гидравлические тормоза SRAM Level T — компоненты, которые помогут прокачать навыки и стать уважаемым пацаном на районе райдером.

Fluid FS 2. https://bikeandme.com.ua/i/11/55/60/8/1155608/gallery/14dcab24b3960978c301aa60ba4de32d-quality_75Xresize_1Xallow_enlarge_0Xw_700Xh_0.jpg,400 — и он ваш!

Fluid FS 2. $2,400 — и он ваш!

  • У нас есть YouTube-канал — подписывайтесь!

Желаете получать наши статьи в социальных сетях? Подписывайтесь на наши каналы в Twitter, Telegram и Facebook!

Особенности трюковых велосипедов для прыжков

Особенности трюковых велосипедов для прыжков

У многих знакомство с велосипедом произошло еще в детстве, когда трех- или двухколесный красавец стал первым в жизни транспортом. И как настоящее транспортное средство байк бывает нескольких типов.

К основным видам относятся прогулочные, туристические, шоссейные и горные, а также есть велосипеды узкой направленности, одни из них называются BMX (Bicycle Moto Xtream). Это экстремальный вид транспорта, которым пользуются спортсмены BMX racing.

Стили BMX

Велосипед BMX самое популярное устройство среди любителей экстремальных передвижений. Они очень маневренны, отличаются большим подъемом руля, заниженной рамой и колесами.

На таком виде трюковых устройств выполняются стили экстремального катания:

  • Flat;
  • Dirt;
  • Vert;
  • Street.

Стиль Street один из самых доступных для экстремального вождения и прыжков. Для него не нужны специально оборудованные треки. В качестве препятствий используется все, что можно найти в городских условиях: заборы, скамейки, парапеты, ступени и памятники.

велосипеды для прыжков

Flat — это акробатика на велосипеде. Такие трюки выполняются на ровной площадке, и все вместе они составляют что-то наподобие велосипедного танца.

Vert представляет собой прыжки в рампе. Сама рампа похожа на распиленную трубу вдоль, ее форма напоминает букву U. Обычно их высота от 2 до 4 метров. Экстремальный райдер вылетает вверх из рампы совершает в воздухе трюки и приземляется обратно.

Выбор велосипеда

Походящий байк для стиля Street должен иметь узкий руль, как уже было сказано выше — одна скоростная передача, покрышки заднего колеса шире, чем у переднего. Рама может быть любой, массивной или легкой, кому как больше нравится. Дюйм колеса также выбирается индивидуально — 26 и 24 дюйма, некоторые сочетают оба размера.

dirtjumping3

Для стиля Dirt подходят тяжелые байки с задним тормозом, на нем могут быть поставлены тормозные ручки, распространенный размер колеса 24 дюйма. Они снабжены хорошими прочными ободами и множеством спиц. Рама, сделанная из хромолевой стали, имеет дополнительную прочность.

Для стиля Vert используется велосипед только с гладкими покрышками. Байк крепкий и тяжелый, имеет задний тормоз, но при катании в небольшой рампе может использоваться и передний, снабжается четырьмя штифтами (пегами) для лучшего скольжения на гранях и перилах.

bmx flat

Байк для стиля Flat практически не используется при обычном катании. Вес байка может быть любым, на ободах большое количество спиц. Тормозов может иметь один или два, пеги крупные с ребристой поверхностью, покрышки, как и для Верта, используются гладкие (сликовые).

Перечисленные выше байки относятся к категории BMX, но выполнять экстремальные трюки можно и с помощью других видов велосипеда.

Разновидности байков для прыжков

Велосипед Trial предназначен для одноименного стиля. Триал по сути схож со стилем Street — преодоление различных препятствий в прыжке. Байк для это стиля обычно не имеет сиденья, тормоза могут быть как механика, так и гидравлика, вес имеет в среднем около 9-10 кг.

триал велосипед

Гибридные байки подойдут начинающим экстремалам, которые пока не могут приобрести подходящий транспорт для прыжков. Велогибрид — это смесь шоссейного велосипеда и горного типа.

Он отличается прочной рамой, большими колесами в диаметре — до 28 дюймов, выраженным рисунком протектора. Руль у устройства от горного вида байка, вилковый амортизатор, а посадка человека на сиденье средняя между этими двумя типами.

Общие характеристики при выборе байка

Если обычный велосипед должен быть удобен и иметь комфортную посадку, то велосипеды для прыжков могут не обладать этими качествами. Байк для трюков должен быть удобен именно в положении «стоя на педалях». Экстремальные модели этого транспорта изначально обладают конструкцией, которая наиболее подходит для всевозможных финтов на них.

Ее особенности:

  • низкая массивная рама;
  • укороченное расстояние между втулками;
  • крепкий и легкий материал изготовления;
  • диаметр колес в среднем 24 дюйма;
  • в трансмиссию часто входит одна скорость.

Многое будет зависеть от того, в какой именно стиле планируется выполнять трюки и прыжки. Если же стиль не определен, то стоит выбрать универсальную модель байка начального уровня, обычно их стоимость составляет в среднем 180 долларов. Цена будет тем дороже, чем известней производитель и технологичнее процесс изготовления транспорта.

Модели велосипедов для прыжков

  1. Пример байка для стрита и дерта – Stark Jigger. Колеса имеют диаметр 24 дюйма, тормоза механические, имеет одну скорость, рама из хромового сплава и наличие амортизационной вилки. Стоимость такого байка от 150 долларов.
  2. Велосипед гибрид Takara Sugiyama — имеет жесткую прочную конструкцию и толстые шины, упрощенная трансмиссия с фиксированной передачей, что необычно для этого типа, двухсторонняя втулка и колеса с 32 спицами. Стоимость этого байка также от 150 долларов.
  3. Горный двухподвес Corratec Two Circle TY оборудован алюминиевой рамой, воздушно-масляной конструкцией вилки, отключающимися в случае необходимости амортизаторами, гидравлическими тормозами с дисковым механизмом и 30 скоростями, цена соответствующая — 1300 долларов.
  4. Байк для стрит-триала Because 24 Color Street custom подходит и для начинающих и для опытных райдеров. Оснащен колесами в 24 дюйма диаметром, который имеют 32 спицы, тормоз дисковой передний или задний на выбор, весит конструкция 10 кг. Его стоимость 800-900 долларов.

Рассмотреть подробнее параметры и приобрести байк можно как в интернет-магазинах и в специализированных магазинах снаряжения для велоспорта.

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

Женские велосипеды

Женские велосипеды удовлетворят потребности представительниц прекрасного пола. Они включают городские, горные, туристические, шоссейные, гравийные, гибридные модели. При покупке важно определиться со стилем катания и местностью. Для женщин, которые предпочитают комфорт, подойдет городской велосипед без амортизатора, с широким седлом, большими колесами и дисковыми тормозами. Для девушки, которая планирует велопокатушки по лесу. пересеченной местности, за городом, подойдет горный байк на 27,5 колесах с амортизатором и кассетной втулкой. На сайте можно выбрать подходящий размер, расцветку, дизайн и комплектующие.

147 товаров

Велосипед Ghost Lanao 4 Lady

Велосипед Ghost Lanao 2 Lady

Велосипед Ghost Square Urban 3.8 28" Woman

Велосипед Momentum iNeed Street MID Step 2018

Велосипед Liv BeLiv 2 City FS

Велосипед Vento Mistral 27.5"

Велосипед Orbea MX ENT 50 27.5"

Велосипед Ghost Lanao 3 Lady

Велосипед Momentum iNeed Street MID Step Велосипед Momentum iNeed Street MID Step

Велосипед Medano Artist Blue

Велосипед Liv Devote 2

Велосипед Vento Mistral 27.5"

Велосипед Vento Mistral 27.5"

Велосипед Vento Levante 27.5"

Велосипед Vento Levante 27.5"

Велосипед Scott Contessa Active 50 29"

Велосипед Ghost Lanao 3 Lady

Велосипед Orbea MX ENT 40 29"

Велосипед Medano Artist Blue

Велосипед Liv Rove 4

Велосипед Liv BeLiv 1

Велосипед Scott Contessa Active 60 29"

Велосипед Scott Contessa Active 50 27.5"

Велосипед Corratec X Vert Halcon 27.5" Велосипед Corratec X Vert Halcon 27.5"

Велосипед Momentum iNeed Street MID Step

Велосипед Ghost Lanao 2 Lady

Велосипед Ghost Lanao 4 Lady

Велосипед Medano Artist Blue

Велосипед Liv BeLiv 2 City FS

    (4) (20) (86) (112) (58) (37) (1)
    (71) (19) (53) (4)
    (2) (35) (35) (57) (18)
    (25) (72) (24) (26)
    (90) (15) (19) (23)
    (74) (36) (17) (8) (6) (5) (1)
    (26) (1) (8) (2) (22) (1) (2) (2) (6) (4) (12) (10) (8) (21) (11) (4) (7)
    (23) (25) (25) (2) (2) (34) (20) (12) (15) (6)
    (18) (4) (2) (2) (2) (5) (14) (4) (5) (3) (3) (2) (29) (4) (2) (3) (2) (14) (2) (1) (5) (2) (19)

Женские велосипеды

Велосипед — отличное средство передвижения, позволяющее преодолевать значительные расстояния гораздо быстрее, чем при ходьбе. К тому же, катание на велосипеде позволяет поддерживать тело в хорошей физической форме, сжигая ненужные калории, развивая мышцы ног. Рекомендуют велотренировки тем, кто не может заниматься бегом в силу каких-либо заболеваний ног, в том числе и плоскостопия. В Европе на городском байке многие добираются на работу, на встречи с друзьями, велик позволит без привязки к общественному транспорту быстро и без стояния в пробках попасть в нужное место.

В Украине передвижение на велосипеде также становится все более популярным, многие хотят приобрести такое транспортное средство, при этом важно выбрать наиболее подходящую модель, чтобы движение было максимально комфортным. Выпускают велики для женщин и мужчин. Понятно, что проехать на любом велике можно вне зависимости от пола, но все же женщине для постоянного использования лучше купить специальный женский велосипед, конструкция которого учитывает особенности женской анатомии.

Отличия в конструкции и дизайне женского транспорта

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

  • рама, имеющая заниженную верхнюю часть, что позволяет легко садиться на велосипед и слезать с него, при этом не ограничивая себя в выборе одежды — можно кататься даже в платье;
  • более легкий вес байка позволит даже хрупкой девушке без труда перенести велик в нужное место, поднять в квартиру. Достигается облегчение конструкции использованием легких материалов и новых технологий;
  • конструкция седла также учитывает анатомические особенности женщин и девушек. Седло имеет особую форму — оно короче и шире, чем у велосипедов для мужчин.

Существуют разные модели женских велосипедов:

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

Велосипеды каждого класса имеют свои отличия — количество скоростей, необходимые усилия, прикладываемые к ручке тормоза, тип тормозов, материал рамы, диаметр колеса, размер рамы; от совокупности этих особенностей зависит и цена байка. Хороший взрослый байк вряд ли будет стоить слишком дешево, но стоит перед покупкой поискать магазин, где предложат наиболее приемлемые цены, а также акции и скидки.

Критерии выбора

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

Разработка реактивных и распределенных систем с Vert.x

В этой статье я хочу рассказать об инструменте для разработки высокопроизводительных JVM-приложений, не требующем изучения сложных архитектурных моделей.

Поиск альтернатив

Я давно и с удовольствием пользуюсь такими инструментами, как Spring, а также Akka и модель акторов. Однако и у них есть недостатки. Spring при своем удобстве и широких возможностях может иногда тратить чуть больше ресурсов, чем хотелось бы. Akka же основывается на модели акторов, которую не каждая команда может легко, быстро и главное эффективно внедрить. И я начал думать о возможных альтернативах.

Внезапно я вспомнил Vert.x, о котором слышал пару лет назад. Мне стало интересно, что же он из себя представляет. Оказалось, я нашел инструмент, который заполнил для меня пробел между двумя озвученными ранее. С одной стороны Vert.x преследует объектно-ориентированную парадигму. С другой стороны, в реализации частично он использует принципы, отдаленно напоминающие модель акторов. При этом по сложности он как раз попадает в середину. И мне стало интересно, что в нем хорошего или наоборот.

В процессе изучения я провел свои бенчмарки и получил приятные результаты. В общем, Vert.x достаточно мало нагружает процессор, в том числе экономный по расходам памяти. Пропускная способность (запросов в секунду) тоже радует. К тому же Vert.x оказался удивительно прост в изучении. Для меня в моем маленьком тесте он оказался лидером. Замечу, речь идет только о моих впечатлениях, так как я не люблю холиварить и понимаю, что каждый может провести свои тесты и получить свои результаты. Давайте посмотрим, какие же возможности открывает перед нами Vert.x.

Основы Vert.x

В первую очередь мне захотелось разобраться в архитектуре ядра Vert.x, в том как он устроен. Это, в свою очередь, помогло бы понять, где его лучше применять. Я решил начать изучение с простого Hello World приложения. Первое, что бросилось в глаза, это то, что Vert.x — это библиотека. Точнее, набор библиотек, которые вместе составляют целую экосистему. Это не фреймворк, то есть в нем нет инверсии управления. Для инъекции зависимостей можно подключить любой желаемый инструмент. Давайте рассмотрим маленкий сниппет кода, написанный с использованием Vert.x.

Сразу заметно наличие глобального объекта Vert.x. Далее используется некий роутер, который входит в библиотеку Vert.x Web. Он помогает разрабатывать веб-сервисы в напоминающей Node.js манере. Остановимся на том, что роутер позволяет создавать HTTP-эндпоинты. Далее мы подключаемся к MySQL, используя реактивный клиент, который входит в поставку. Затем пишем обработчики событий, которые передаются как callback-функции. Итого, мы создали обработчик для HTTP-эндпоинта и для получения результата выполнения SQL-запроса. Ну и в конце стартуем наш веб-сервис, запуская HttpServer на порту 8080.

С одной стороны, код выглядит непривычно как для Java-программиста, с другой стороны очень напоминает JavaScript/Node.js-приложение. На самом деле так и есть. Как я успел понять, в свое время Node.js сыграл большую роль в создании Vert.x. Это, конечно, не самая приятная новость для большинства Java-разработчиков. Однако, будучи человеком, который активно балуется JavaScript/TypeScript, я решил временно закрыть на это глаза и разобраться дальше. Как оказалось, Vert.x построен как имплементация уже классического паттерна Reactor с маленькой модификацией, которую разработчики прозвали Multi-Reactor.

Паттерн Reactor

Чтобы понять паттерн Multi-Reactor, достаточно знать известный паттерн Reactor. Классический Reactor говорит о том, что есть некий Event Loop, как правило однопоточный, который отвечает за обработку событий. Все клиентские запросы заходят как события. Далее выполняется обработчик, Handler, который подписан на соответствующие события. При этом будет нехорошо, если обработчик заблокирует Event Loop надолго. Поэтому долгоиграющие задачи делегируются Worker-потокам и выполняются, не блокируя Event Loop. На них повешен некий Callback, который будет вызван, как только задача будет выполнена (или прервется с отчетом об ошибке).

В свою очередь, Multi-Reactor расширяет этот шаблон (паттерн), добавляя еще несколько потоков (дополнительные Event Loop-ы). Таким образом, формируется шина событий (Event Bus) которая умеет масштабироваться под ресурсы конкретной машины. Как правило, количество потоков Event Loop определяется по формуле «количество ядер процессора * 2». Итого, весь Vert.x — это один большой Event Bus, с которым мы общаемся посредством Callback-ов.

Структура приложения

Разобравшись с тем, как писать код на Vert.x и как это все работает внутри, я задумался о том, как же структурировать такое приложение. Ведь это можно сделать по-разному. Но должен быть какой-то шаблонный вариант, некий best practice, который предлагают разработчики Vert.x. Как оказалось, они предложили не только подход, но еще и его реализацию.

Оказалось, Vert.x предоставляет целую экосистему, с которой нужно было разобраться. Кроме реактивной архитектуры, он также предлагает свою модель развертки (deployment) приложений. Эта модель называется Verticle. Что же это такое? Еще одна адаптация какого-то классического паттерна? Не поверите, но почти да. Verticle — это контейнер (не Docker, конечно, это не контейнер для приложения). Это переносимый контейнер для Vert.x. И вот, как он выглядит:

Это класс, который несет в себе некий логический кусок Vert.x кода, часть вашего приложения. Чуть далее мы узнаем, зачем нужно такое извращение. А пока давайте разберемся, как эта штука работает и как она вообще деплоится.

По сути, Verticle — это контейнер для обработчиков событий (handler). Так как весь код напоминает набор множества callback-ов, их можно логически собрать в вертиклы и тем самым структурировать приложение. На самом деле, вертиклы бывают трех типов: Standard, Worker и Multi-Threaded Worker. Стандартный вертикл, точнее код внутри него, выполняется в потоке Event Loop, блокируя его на время выполнения. Worker-вертиклы выполняются на Worker-потоках. Но дело в том, что единовременно один Worker-вертикл может выполняться только на одном потоке. Если вам нужна возможность выполнить вертикл параллельно в нескольких потоках, тогда вам нужен Multi-Threaded Worker Verticle. Создаются все эти вертиклы очень просто: нужно указать всего лишь тип, например:

Таким образом, можно сказать, что базовая структура нашего приложения имеет следующую форму:

Кластеризация

Что если, нам недостаточно одного приложения? Что если, нам нужно масштабировать наше приложение на несколько серверов в сети? Это, конечно, можно сделать стандартными подходами. Однако в случае Vert.x эту задачу также могут решить вертиклы. На самом деле, вертиклы являются чем-то большим, чем просто инструментом для структурирования приложения. С помощью вертиклов можно масштабировать приложение путем кластерирования.

В экосистеме Vert.x кластер является надстройкой над готовыми решениями, такими как Hazelcast, Infinispan, Ignite, Zookeeper, Atomix и другие. Точнее Vert.x использует вышеупомянутые подсистемы для синхронизации и организации своего кластера. По умолчанию используется Hazelcast. Другие можно подключить из поставки, кроме Atomix, который нужно отдельно подключать (так как он является 3rd-party-имплементацией и не входит в Vert.x). В том числе могут быть доступны и другие варианты Cluster Manager, предоставляемые сторонними поставщиками. Настройка самого кластер-менеджера, например, Hazelcast, доступна в документации Vert.x. Важно понимать, что кластер состоит из множества экземпляров Vert.x-приложений, то есть это JVM-приложения, в которых запущен Vert.x.

Самое главное, это не то, что все это можно сделать из кода, а то, что это также можно сделать из командной строки. Это позволяет упростить автоматизацию процесса развертки. Например, командой $ vertx run MyVerticle можно просто развернуть и запустить вертикл. С ключом -cluster можно указать, что запускаемый экземпляр будет частью кластера (файл конфигурации cluster.xml можно положить в ту же папку или передать параметром при запуске). С ключом -ha можно включить режим High Availability, в котором упавшие вертиклы будут автоматом разворачиваться на других экземплярах в кластере. Этот режим особо интересен с дополнительным ключом –hagroup , который позволяет разделять вертиклы на группы. Например, если разные дата-центры выделить в разные группы, вертиклы в одном дата-центре будут разворачиваться только на инстансах этого дата-центра.

Замечу, что можно даже запускать пустые экземпляры командой $ vertx run -ha -hagroup my-group . Ну и напоследок, мне очень нравится опция -quorum , которая позволяет указать минимальное количество экземпляров в кластере, требуемое для удачной работы системы. Если будет доступно меньше экземпляров, все вертиклы будут прибиты (undeploy) и развернутся обратно, как только количество кворума восстановится.

Балансировка нагрузки

Чтобы подытожить тему модели вертиклов, добавлю еще один маленький, но важный комментарий про балансировку нагрузки. Один вертикл можно разворачивать (deploy) много раз независимо от того, запущен он в кластере или локально. В обоих случаях нагрузка будет делиться между запущенными копиями вертикла по алгоритму Round-Robin (эдакий упрощенный load balancing).

Соответственно, если вертиклы запущены на локальном хосте в нескольких экземплярах, нагрузка будет делиться между потоками процессора. Если же они запущены на разных хостах и находятся в одном кластере, тогда нагрузка будет делиться между хостами по сети. При этом на разных хостах все равно может быть доступно более одной копии вертикла. Таким образом мы получаем гибридную схему.

Расширенные возможности

Итого, только одна библиотека, Vert.x Core уже позволяет делать все описанное. И более того, в ней еще есть:

  • свой интерфейс для работы с файловой системой (синхронно и асинхронно);
  • свой интерфейс для получения доступа к распределенным структурам данных (Map, Lock, Counter);
  • интерфейс для разработки TCP, HTTP и UDP серверов и клиентов;
  • DNS-клиент;
  • Launcher, который позволяет создавать так называемые fat-jar, где точкой входа будет Main Verticle.

Как видите, это уже немало. И это только одна библиотека. А ведь Vert.x — это целая экосистема. Далее в статье я приведу краткий обзор других библиотек, а детальнее о них можно прочитать в официальной документации.

Первая и, на мой взгляд, обязательная для рассмотрения библиотека — это Vert.x Web, которая предоставляет тот самый роутер, использованный в примере выше. Дело в том, что Vert.x Core дает возможность разрабатывать низкоуровневые HTTP-серверы и клиенты. А вот роутер уже предоставляет возможность разработки веб-сервисов на удобном высоком уровне с надстройками, которые облегчают задачу. Например, если для разработки HTTP-сервера достаточно одного метода, в коде которого надо будет парсить запрос и понимать, что с ним дальше делать, то с помощью роутера мы можем разделить GET, POST, PUT и другие запросы. В том числе в Web доступен еще и WebClient, который позволит достаточно удобно консьюмить другие веб-сервисы, позволяя установить таймауты, парсить в обе стороны JSON (под капотом старый добрый jackson) и много другого.

Авторизацию и аутентификацию позволит сделать подключаемый Vert.x Auth. Он умеет работать с OAuth2, Shiro, JWT и многим другим. По сути, Vert.x Auth интегрируется с роутером из Vert.x Web, что очень удобно.

Далее с помощью Vert.x Microservices в приложение можно добавить расширенный service discovery, воспользоваться встроенным circuit breaker-ом и получать конфигурацию из множества доступных источников. Что мне очень понравилось, это то, что с одной стороны Vert.x умеет интегрироваться с внешним discovery-сервером, например, Consul. С другой стороны, в Vert.x сервисом можно назвать любой handler, доступный (подписанный) на event bus, что позволяет паблишить и дискаверить все, что угодно.

То есть нам не обязательно поверх функции доступа к данным вешать на нее еще и какое то API для того, чтобы достучаться до нее по сети. Достаточно знать название этой функции (как сервис в service discovery), найти ее и просто пользоваться. Vert.x за вас уже все сделал. Все данные (в обе стороны) будут пересылаться по TCP (если нужно защитить данные от чужих глаз, можно включить TLS). На самом деле в том, чтобы любую функцию превратить в сервис, доступный по дискавери, есть нюансы. Например, вам понадобятся service proxy. На эту тему можно долго говорить, но лучше раз прочитать в официальной документации с примерами.

Кроме всего прочего, в Vert.x еще доступны широкие возможности интеграции с внешними системами через множество каналов, интеграция с RxJava, чтобы писать реактивно выглядящий код вместо коллбэков, интеграция с Micrometer и много других приятных мелочей.

Итоги

В общем, я рассматриваю Vert.x как надежный инструмент для разработки систем, где важна высокая производительность. Он очень шустрый, потребляет мало ресурсов и очень стабилен, хоть и немного непривычен. Также нужно отметить риски, связанные с поддержкой и дальнейшим развитием этого инструмента. Команда разработки Vert.x и сообщество не очень большие, хоть релизы и достаточно частые.

При этом все проекты, использующие Vert.x, о которых я слышал и с которыми пересекался, оказались очень удачными (как минимум с технической точки зрения). Поэтому советую попробовать Vert.x, провести несколько экспериментов с ним, а может даже разобраться детально, так как он может оказаться полезным уже в следующем вашем проекте.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Источники:

https://bikeandme.com.ua/dosug/obzory/1155608-5-luchshikh-velosipedov-mtb-2019-po-versii-bicycling
https://zextrem.com/zemlya/velosport/velosipedy-dlya-pryzhkov.html
https://veliki.com.ua/dir_lady_bikes.htm
https://dou.ua/lenta/articles/guide-for-vertx/