Из чего в основном эта статья? Зачем? Как это сделать? Три аспекта знакомства со SpringCloud, некоторые ссылаются на официальные документы и технические блоги, подробные ссылки даны внизу статьи
是什么? SpringCloud是什么?用来干什么的?
为什么?为什么选用SpringCloud?他有哪些优势?
怎么做? 如何使用SpringCloud?以及SpringCloud的各个组件的作用?
что это?
1. Краткое введение в Spring Cloud
Spring Cloud — это упорядоченный набор фреймворков. Он использует удобство разработки Spring Boot для тонкого упрощения разработки инфраструктуры распределенной системы, такой как регистрация обнаружения служб, центр конфигурации, шина сообщений, балансировка нагрузки, автоматический выключатель, мониторинг данных и т. д., все из которых можно сделать в стиль разработки Spring Boot для запуска и развертывания одним щелчком мыши. Spring не повторяет производство колес, а просто объединяет более зрелые и практичные сервисные фреймворки, разработанные различными компаниями, и переинкапсулирует сложные принципы настройки и реализации в стиле Spring Boot.Автор оставил набор инструментов для разработки распределенных систем. которые легко понять, легко развернуть и легко поддерживать.
Микросервисы — это сервисные единицы, которые можно развертывать независимо, масштабировать по горизонтали и получать к ним независимый доступ (или иметь независимые базы данных). необходимо управлять этими микросервисами.
2. Официальное введение
Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.
Spring Cloud предоставляет разработчикам инструменты для быстрого создания некоторых распространенных шаблонов в распределенных системах (например, управление конфигурацией, обнаружение сервисов, автоматические выключатели, интеллектуальная маршрутизация, микропрокси, управляющая шина, одноразовые токены, глобальная блокировка, выборы лидера, сеанс распределения и т. состояние кластера). Координация распределенных систем приводит к стандартным шаблонам, и с помощью Spring Cloud разработчики могут быстро противостоять службам и приложениям, реализующим эти шаблоны. Они работают в любой распределенной среде, в том числе на собственном ноутбуке разработчика, в центрах обработки данных без ПО и на хостинговых платформах, таких как Cloud Foundry.
3. Обзор основных членов
Реестр услуг |
Spring Cloud Netflix Eureka |
Метод вызова службы |
REST API |
сервисный мониторинг |
Spring Boot Admin |
выключатель |
Spring Cloud Netflix Hystrix |
сервисный шлюз |
Spring Cloud Netflix Zuul |
Распределенная конфигурация |
Spring Cloud Config |
отслеживание услуг |
Spring Cloud Sleuth |
шина сообщений |
Spring Cloud Bus |
поток данных |
Spring Cloud Stream |
пакетные задачи |
Spring Cloud Task |
4. Какая связь со Spring Boot
Spring Boot — это набор шаблонов быстрой конфигурации для Spring, который позволяет быстро разработать один микросервис на основе Spring Boot. Spring Cloud — это инструмент разработки облачных приложений на основе Spring Boot; Spring Boot ориентирован на одного человека, который быстро и легко интегрировать, а Spring Cloud — это Обратите внимание на глобальную структуру управления службами; Spring Boot использует концепцию, согласно которой значение по умолчанию больше, чем конфигурация. Для вас было выбрано множество интеграционных решений, и вы не можете настроить их без настройки. Большой часть Spring Cloud реализована на основе Spring Boot, которая может не основываться на Spring Boot? Не может.
Spring Boot может использовать проекты разработки независимо от Spring Cloud, но Spring Cloud неотделим от Spring Boot, который является зависимостью.
spring -> spring boot > Spring Cloud 这样的关系。
Зачем?
1. Каковы преимущества Spring Cloud?
Spring Cloud focuses on providing good out of box experience for typical use cases and extensibility mechanism to cover others.
Spring Cloud фокусируется на предоставлении хорошего готового опыта для типичных случаев использования и механизмов расширения для других пользователей.
Кроме того, Spring Cloud родился в эпоху архитектуры микросервисов, учитывая все аспекты управления микросервисами.Кроме того, благодаря преимуществам Spring и Spring Boot, Spring Cloud представляет собой экосистему.
2. Почему стоит выбрать SpringCloud?
Существует так много фреймворков для микросервисов, таких как: dubbo, Kubernetes, зачем использовать Spring Cloud?
- Созданный семейством Spring, Spring не имеет себе равных в среде разработки на уровне предприятия и имеет большой опыт, который может обеспечить последующие обновления и улучшения. Как будто даббо почти мертв
- Наличие Spring Boot в качестве независимого лидера может сэкономить много работы, и Spring Boot хорошо справляется с большими и малыми задачами.
- Как большой парень в управлении микросервисами, он рассматривает его очень комплексно, и учитываются почти все аспекты управления сервисом, что удобно для разработки из коробки.
- Spring Cloud очень активен, с богатыми учебными пособиями, и легко найти решения при возникновении проблем.
- Несколько строк кода могут легко выполнить различные функции платформы, такие как автоматический выключатель, балансировка нагрузки и сервисный центр.
Spring Cloud является благом для малых и средних интернет-компаний, поскольку у таких компаний часто нет сил или достаточного капитала для разработки собственной распределенной системной инфраструктуры.Использование универсального решения Spring Cloud позволяет легко справляться с бизнесом. стоимость разработки значительно снижается. В то же время, с ростом популярности архитектуры микросервисов и концепции контейнеров Docker в последние годы, Spring Cloud также займет место во все более «облачном» стиле разработки программного обеспечения в будущем, особенно в нынешнем разнообразии распределенных решений. стандартизированное комплексное техническое решение, которое можно сравнить с рождением текущей спецификации сервлетов, эффективно повышающее технический уровень серверной программной системы.
В архитектуре Spring Cloud есть интересные и крутые технологии. Если компания выбирает микросервисную архитектуру для реконструкции всей технической системы, то лучшим выбором будет Spring Cloud, который можно назвать одним из лучших микросервисных фреймворков на данный момент.
как пользоваться?
1. Введение в основные модули
Чтобы легко реализовать архитектуру микросервисов, в отрасли определены некоторые общие шаблоны, помогающие достичь этого. Некоторые хорошо известные шаблоны — это централизованное управление конфигурацией, обнаружение служб, асинхронное управление сообщениями и распределенная трассировка. Spring Cloud предоставляет эти шаблоны в виде доступных модулей и помогает нам следовать рекомендациям по использованию облачных технологий. Кроме того, уникальная ценность Spring Cloud может быть отражена в следующих аспектах:
- Определите общие абстракции для часто используемых модулей. Это идеальное применение философии разделения Spring. Каждый шаблон не связан жестко с конкретной реализацией. Возьмем в качестве примера сервер конфигурации; вы можете свободно изменять внутреннее хранилище, не затрагивая другие службы.
- Модульные компоненты. Spring Cloud не является решением «все или ничего», все модули являются необязательными.
А. Централизованное управление конфигурацией через Spring Cloud Config
Чтобы соответствовать требованиям конфигурации хранилища в микросервисной архитектуре среды, нам необходимо поместить конфигурацию всех сервисов в централизованное место. Для этого необходимы следующие функции:
- Поддерживает несколько сред, таких как dev, test и prod. Затем мы можем собрать пакет для всех сред.
- Прозрачное извлечение конфигурации. Эти централизованные конфигурации должны подбираться автоматически без какого-либо пользовательского кодирования.
- Автоматически обновлять свойства при изменении свойств. Служба должна быть уведомлена о таких изменениях и перезагружена с новыми свойствами.
- Сохраняйте историю изменений и легко возвращайтесь к более старым версиям. Это очень полезная функция для отмены плохих изменений в продакшене.
Spring Cloud Config поддерживает все это с помощью простой аннотации @EnableConfigServer в службе конфигурации и включает стартеры в другие службы для включения клиентов. Подробнее см.
Документация по конфигурации Spring Cloud.
б. Откройте для себя сервисы через Spring Cloud Discovery
Обнаружение сервисов играет важную роль в большинстве распределенных систем и сервис-ориентированных архитектур. На первый взгляд вопрос кажется простым: как клиент узнает IP-адрес и порт службы, которая может существовать на нескольких хостах? Все становится сложнее, когда вы начинаете развертывать больше сервисов в универсальной облачной среде.
На практике это обычно делается в два этапа:
- Регистрация службы — процесс, посредством которого служба регистрирует свое местоположение в центральном реестре. Обычно он регистрирует свой хост и порт, а иногда и учетные данные аутентификации, протокол, версию и сведения о среде.
- Обнаружение служб — процесс, с помощью которого клиентские приложения запрашивают центральный реестр о расположении служб.
При выборе решения для обнаружения служб следует учитывать следующие аспекты:
- Отказоустойчивость — что происходит после сбоя регистрации службы? Иногда он немедленно отменяет регистрацию при корректном завершении работы, но в большинстве случаев нам нужен механизм тайм-аута. Служба постоянно отправляет тактовые импульсы для обеспечения работоспособности. В дополнение к этому, клиенты должны иметь возможность обрабатывать сбойную службу, автоматически повторяя попытку другой службы.
- Балансировка нагрузки. Если в службе зарегистрировано несколько хостов, как мы можем сбалансировать нагрузку между хостами? Будет ли балансировка нагрузки на стороне реестра или на стороне клиента? Можем ли мы предоставить собственную стратегию балансировки нагрузки?
- Усилия по интеграции — насколько сложен процесс интеграции? Это просто связано с некоторыми новыми зависимостями и/или изменениями конфигурации? Или навязчивый код обнаружения? Иногда отдельный вспомогательный процесс является хорошим вариантом, когда ваш язык не поддерживается.
- Вопросы о доступности. Является ли сам реестр высокодоступным? Можно ли его обновить без простоев? Реестр не должен быть единой точкой отказа.
C. Внедрение архитектуры, управляемой сообщениями, с помощью Spring Cloud Stream.
Предположим, у нас есть какие-то микросервисы, которые затем должны взаимодействовать друг с другом. Очевидно, что традиционный синхронный подход является блокирующим и трудно масштабируемым, что не может выжить в сложной распределенной среде, поэтому асинхронный, управляемый сообщениями, является правильным подходом. В современном мире каждый запрос к облаку считается сообщением. Поэтому различное промежуточное ПО для обмена сообщениями может использовать свои собственные форматы сообщений и API. Заставить все это промежуточное ПО общаться друг с другом — катастрофа. На самом деле решить эту проблему просто: достаточно определить унифицированный интерфейс сообщений, а затем каждое промежуточное ПО предоставляет адаптер, который знает, как выполнять преобразование между их форматами сообщений и стандартными форматами. Теперь вы освоили основные принципы проектирования Spring Integration. Spring Integration преследует следующие цели:
- Предоставляет простую модель для реализации сложных корпоративных интеграционных решений.
- Облегчает асинхронное поведение, управляемое сообщениями, в приложениях на основе Spring.
- Облегчает интуитивно понятное постепенное внедрение для существующих пользователей Spring.
и следуйте этим принципам:
- Компоненты должны быть слабо связаны для модульности и тестируемости.
- Структура должна обеспечивать разделение проблем между бизнес-логикой и интеграционной логикой.
- Точки расширения должны быть абстрактными по своей природе, но в четко определенных границах, чтобы облегчить повторное использование и переносимость.
Однако Spring Integration по-прежнему находится на более низком уровне и содержит неинтуитивно запутанные термины. Модель программирования не так проста в использовании, как другие технологии Spring. Отсюда и изобретение Spring Cloud Stream. Он основан на стандартном формате сообщений и различных адаптерах, предоставляемых интеграцией Spring, работающих в высокоуровневой абстракции связывателя для более простого создания, обработки и использования сообщений. Это похоже на unix pipe, вам просто нужно беспокоиться о том, что делать с сообщениями. Сообщения будут входить и выходить, как и ожидалось. Spring Cloud Stream предоставляет следующие расширенные функции:
- потребительская группа. Это было впервые представлено и популяризировано Apache Kafka. Он может поддерживать очереди публикации-подписки и конфликтные очереди в одной модели программирования.
- раздел. В зависимости от предоставленного пользователем ключа раздела сообщения, созданные с использованием одного и того же ключа раздела, гарантированно находятся в физическом сегменте. Это очень важно при обработке с отслеживанием состояния, когда связанные данные необходимо обрабатывать вместе по соображениям производительности или согласованности.
- Автоматическое согласование контента. Преобразование типа сообщения выполняется автоматически на основе типа сообщения, принятого пользователем.
г. Распределенная трассировка через Spring Cloud Sleuth и Zipkin
В архитектуре микросервисов внешний запрос может включать несколько вызовов внутренних сервисов, и эти сервисы могут быть распределены по многим компьютерам. Несмотря на то, что в большинстве решений реализовано централизованное хранение записей журналов и поиск, по-прежнему трудно отслеживать сквозные транзакции в нескольких службах. Выяснение того, как запрос проходит через приложение, также означало многократный ручной поиск в журналах ключевых слов в поисках подсказок. Это отнимает много времени и чревато ошибками, особенно если вы недостаточно знаете топологию микрослужбы. По сути, нам нужно сопоставить и агрегировать эти журналы в одном месте.
Spring Cloud Sleuth достигает этой корреляции, вводя концепции Span и Trace. Span представляет базовую единицу работы, такую как вызов службы, идентифицируемый идентификатором span. Набор отрезков образует древовидную структуру, называемую Trace. Идентификатор отслеживания останется тем же, когда одна микрослужба вызывает другую. Оба будут включены в каждую запись журнала. Кроме того, он автоматически настраивает общие каналы связи:
- Ранее мы обсуждали запросы к Spring Cloud Stream Binder.
- Заголовки HTTP, полученные контроллерами Spring MVC
- запросить RestTemplate
- ...и большинство других типов запросов и ответов в Spring-ecology
С этими необработанными данными все еще трудно понять, что такие вещи, как вызовы микросервисов, занимают больше всего времени. Zipkin предоставляет приятный пользовательский интерфейс, который помогает нам визуализировать и понимать. Вы можете подготовить сервер Zipkin с помощью простой аннотации @EnableZipkinServer. Подробнее см.
Документация Spring Cloud Sleuth.
2. Введение в Нетфликс
Netflix(/nɛtflɪks/,官方中文名:网飞,民间翻译:奈飞)是一间在世界多国提供网络视频点播的OTT服务公司[7],并同时在美国经营单一费率邮寄DVD出租服务。该服务是使用回邮信封寄送DVD和Blu-ray出租光盘至消费者指定的收件地址。公司由里德·哈斯廷斯和马尔克·兰多夫在1997年8月29日成立,总部位于加利福尼亚州洛斯盖图,1999年开始推出订阅制的服务。到了2009年,Netflix已可提供超过10万部电影DVD,订阅者数超过1000万人[8]。2007年2月25日,Netflix宣布已寄出第10亿份DVD。[9]2011年4月,Netflix在美国有超过2300万名订阅者,在世界其他国家共有超过2600万名订阅者。[10]在2011年,Netflix的数字总营收超过了150亿美元。[11]然而在2012年10月23日,Netflix宣布当年度第三季的营收下滑了88%[12]。
2013年1月,Netflix宣布在2012年第四季期间在美国增加了200万名订阅者,美国的流服务总订阅者数达到2710万,世界其他国家则共有2940万名流服务订阅者。此外,在同一期间,Netflix的营收提升了8%,达到9.45亿美元。[13]
2013年3月中旬,Netflix共有3300万名订阅者[14]。订阅者数在2013年4月达到3630万人(其中美国订阅者数为2920万人)[15]。其后Netflix的订户数与营收持续增长。截至2015年10月,Netflix在全世界共有6917万名订阅者,其中美国的订阅者超过4300万人。[16]
Netflix предоставляет услуги проката дисков и подписки на видео.В 2013 году было 60 миллионов подписчиков на видео.Такой большой объем создал достижения Netflix в распределенных приложениях.
Spring Cloud Netflix интегрируется с различными компонентами Netflix OSS, образуя ядро микросервисов. Его компоненты в основном включают Eureka, Hystrix, Zuul, Archaius…
3. Введение основных компонентов
-
Spring Cloud Netflix Eureka
Сервисный центр (по аналогии с концепцией уборщика, просто берите то, что вам нужно, прямо отсюда), служба на основе REST для поиска служб для обнаружения облачных служб среднего уровня и аварийного переключения.
Центр обслуживания, обнаружение облачных служб, служба на основе REST для поиска служб для обнаружения облачных служб среднего уровня и аварийного переключения. Это самый высокомерный младший брат весеннего облака, сервисный центр. Любой младший брат нуждается в поддержке других младших братьев и должен получить ее отсюда. Точно так же, если у вас есть какие-либо уникальные боевые искусства, пожалуйста, сообщите об этом как можно скорее, чтобы другие младшие братья могут вызвать его позже, его преимущество в том, что вам не нужно искать какую-либо поддержку напрямую, вам просто нужно пойти в сервисный центр, чтобы получить ее, и вам не нужно знать, где другие сторонники Есть, или несколько младших братьев для поддержки, в любом случае, просто пользуйтесь, сервисный центр обеспечит стабильность и качество.
- Spring Cloud Netflix Hystrix
Circuit breaker, отказоустойчивый инструмент управления, предназначен для управления узлами служб и сторонних библиотек через механизм прерывателя цепи, тем самым обеспечивая более высокую отказоустойчивость при задержках и сбоях.
Circuit breaker, инструмент управления отказоустойчивостью, предназначен для управления узлами служб и сторонних библиотек через механизм прерывателя цепи, тем самым обеспечивая более высокую отказоустойчивость при задержках и сбоях. Например, вдруг заболел какой-то младший брат, а ты все еще нуждаешься в его поддержке, и после того, как он долго звал его, он не отвечает, а ты не знаешь, и ждал этого ответа; возможно, что другие младшие братья также называют ваши навыки боевых искусств, тогда когда будет много запросов, произойдет серьезная блокировка и повлияет на общий план босса. В это время на помощь приходит Hystrix.Когда Hystrix обнаруживает, что некий младший брат не находится в нестабильном состоянии, он тут же отключает его, и просит других младших младших братьев подойти, или сказать, что ждать не надо Этот младший брат сегодня точно не успеет, зачем ему торопиться?
-
Spring Cloud Netflix Zuul
Шлюз — это платформа, обеспечивающая динамическую маршрутизацию, мониторинг, эластичность, безопасность и другие пограничные службы на облачных платформах. Передняя дверь для всех запросов к задней части веб-сайта.
Zuul — это платформа для обеспечения динамической маршрутизации, мониторинга, эластичности, безопасности и других пограничных сервисов на облачных платформах. Zuul эквивалентен входной двери для всех запросов к устройству и серверной части веб-сайта потокового приложения Netflix. Когда другие секты приходят искать старшего брата для ведения бизнеса, они должны сначала пройти через зуул, чтобы увидеть, есть ли кто-нибудь с ножом или чем-то, что может их перехватить, или им нужно найти младшего брата, чтобы привести их напрямую.
- Spring Cloud Netflix Archaius
API-интерфейсы управления конфигурацией, в том числе ряд API-интерфейсов управления конфигурацией, предоставляют такие функции, как свойства с динамическим типом, потокобезопасные операции конфигурации, структуры опроса и механизмы обратного вызова.
API-интерфейсы управления конфигурацией, в том числе ряд API-интерфейсов управления конфигурацией, предоставляют такие функции, как свойства с динамическим типом, потокобезопасные операции конфигурации, структуры опроса и механизмы обратного вызова. Конфигурация может быть получена динамически. Принцип заключается в том, чтобы считывать содержимое из источника конфигурации каждые 60 с (по умолчанию, настраиваемый), чтобы измененное содержимое могло вступить в силу без перезапуска службы после изменения файла конфигурации. Предпосылка заключается в том, что API Archaius используется для чтения.
-
Spring Cloud Netflix Ribbonбалансировки нагрузки.
- Клиент Spring Cloud Netflix Fegin REST.
Шина сообщений, которая использует распределенный обмен сообщениями для соединения служб и экземпляров служб вместе для распространения изменений состояния в кластере.
Событие, шина сообщений для распространения изменений состояния по всему кластеру (например, событий изменения конфигурации), обеспечивающая горячее развертывание в сочетании с Spring Cloud Config. Это эквивалентно Дай Цзуну, богу-путешественнику Тайбао, который проезжал 800 миль в день по Водной кромке, гарантируя, что новости между младшими братьями останутся незаблокированными.
Кластерный инструмент, абстракция и реализация шаблонов выбора лидера и гражданского состояния на основе Zookeeper, Redis, Hazelcast, Consul.
Обнаружение сервисов и управление конфигурацией на основе Hashicorp Consul.
Заменит Spring Integration. Обеспечивает базовую функциональную поддержку, необходимую для кластеров в распределенных системах, такую как: выборы, согласованность состояния кластера, глобальные блокировки, токены и другие абстракции и реализация общих шаблонов состояний.
Если вы организуете разные группы в единое целое, Spring Cloud Cluster предоставит вам множество инструментов, которые удобно организовать в единое целое.
Consul – это служебное программное обеспечение, которое поддерживает распределенное и высокодоступное обнаружение сервисов и совместное использование конфигурации в нескольких центрах обработки данных. Оно было разработано HashiCorp на языке Go и имеет открытый исходный код на основе протокола Mozilla Public License 2.0. Consul поддерживает проверки работоспособности и разрешает HTTP и Протоколы DNS Вызовите API для хранения пар ключ-значение.
Spring Cloud Consul инкапсулирует работу Consul, инструмента обнаружения и настройки сервисов, который можно легко интегрировать с контейнерами Docker.
- Spring Cloud for Cloud Foundry
Cloud Foundry – это первая в отрасли облачная платформа PaaS с открытым исходным кодом, выпущенная VMware. Она поддерживает несколько фреймворков, языков, сред выполнения, облачных платформ и сервисов приложений, позволяя разработчикам развертывать и расширять приложения за считанные секунды. Не нужно беспокоиться о каких-либо проблемах с инфраструктурой.
По сути, это набор решений, интегрированных с Cloud Foundry, который охватывает бедро Cloud Foundry.
Элементы управления безопасностью, обеспечивающие балансировку нагрузки для клиентов OAuth2 REST и пересылку заголовков проверки подлинности в прокси-сервере Zuul.
Набор инструментов безопасности, основанный на Spring Security, для добавления элементов управления безопасностью в ваше приложение. Этот младший брат очень высокомерен и отвечает за безопасность всей банды, создавая различные секты для доступа к определенным ресурсам, и не может слить секретную книгу «Коллекция подсолнухов».
Мониторинг распределенных ссылок, распределенная система отслеживания для приложений SpringCloud, совместимая с Zipkin, HTrace и ELK.
Набор инструментов для сбора журналов, который инкапсулирует трассировку на основе Dapper и журналов, а также операции Zipkin и HTrace, реализует решение для распределенной трассировки для приложений SpringCloud.
Краткосрочные микросервисы, которые добавляют функциональные и нефункциональные функции в приложения Spring Boot с помощью простых объявлений.
В основном он решает задачи управления и планирования задач для недолговечных микросервисов, например, некоторые запланированные задачи запускаются один раз ночью или определенный анализ данных временно запускается несколько раз.
Обнаружение служб и управление конфигурацией основаны на Apache Zookeeper.
ZooKeeper — это распределенная служба координации распределенных приложений с открытым исходным кодом, реализация с открытым исходным кодом Chubby от Google и важный компонент Hadoop и Hbase. Это программное обеспечение, которое предоставляет согласованные услуги для распределенных приложений.Предоставляемые функции включают в себя: обслуживание конфигурации, службу доменных имен, распределенную синхронизацию, групповую службу и т. д. Цель ZooKeeper — инкапсулировать сложные и подверженные ошибкам ключевые службы и предоставить пользователям простой в использовании интерфейс и систему с высокой производительностью и стабильными функциями.
Инструментарий для работы с Zookeeper, который используется для обнаружения служб и управления конфигурацией с использованием метода zookeeper и охватывает бедро Zookeeper.
- Spring Cloud for Amazon Web Services
Быстрая интеграция с Amazon Web Services.
Стартовый проект в стиле Spring Boot, который обеспечивает готовое управление зависимостями для Spring Cloud.
Основанный на Spring Boot CLI, он позволяет быстро создавать облачные компоненты из командной строки.
Он упрощает процесс подключения к службам и получения операций с облачной платформы, имеет широкие возможности расширения и может использовать Spring Cloud Connectors для создания собственной облачной платформы.
Облачным приложениям удобно подключаться к серверной части на различных PaaS-платформах, таких как: службы базы данных и брокера сообщений.
Платформа для создания микросервисных приложений, управляемых сообщениями, на основе Spring Boot, используемая для создания автономных/промышленных приложений Spring с использованием интеграции Spring для обеспечения соединений с брокерами сообщений. Пакет разработки операций с потоком данных инкапсулирует отправку и получение сообщений с помощью Redis, Rabbit, Kafka и т. д.
Бизнес будет включать в себя несколько задач, и задачи запускаются событиями, это то, что делает поток Spring Cloud.
для обработки больших данных
Поток данных — это унифицированная модель программирования и управляемая служба для разработки и выполнения крупномасштабных шаблонов обработки данных, включая ETL, пакетные операции и непрерывные операции.
Поток данных Spring Cloud — это облачная служба оркестрации для микросервисных программ, которые можно компоновать в современных средах выполнения. Используя поток данных Spring Cloud, разработчики могут создавать и организовывать конвейеры данных для распространенных случаев использования, таких как извлечение данных, аналитика в реальном времени и импорт/экспорт данных.
Поток данных Spring Cloud — это редизайн Spring XD на основе собственного облака. Цель этого проекта — упростить разработку приложений для работы с большими данными. Рефакторинг модулей потоковой обработки и пакетной обработки Spring XD основан на программах потоковой и пакетной обработки задач/пакетов Spring Boot соответственно. Эти программы теперь являются автоматизированными единицами развертывания и изначально поддерживают современные среды выполнения, такие как Cloud Foundry, Apache YARN, Apache Mesos и Kubernetes.
Поток данных Spring Cloud предоставляет набор моделей и передовых методов для обработки распределенных потоков на основе микросервисов и каналов пакетных данных.
Суммировать
Эта статья в основном понимает SpringCloud из трех вопросов:
1. Что такое SpringCloud?
Spring Cloud — это упорядоченный набор из серии фреймворков, предоставляющий разработчикам инструменты для быстрого создания некоторых общих шаблонов в распределенных системах, решения регистрации обнаружения служб, центра конфигурации, шины сообщений, балансировки нагрузки, прерывателя цепи, мониторинга данных и т. д.
2. Почему стоит выбрать SpringCloud?
- На основе протокола http, с использованием стиля RESTful, интерфейс простой и удобный, эффективный и прозрачный (Dubbo использует протокол RPC, производительность немного лучше, чем у протокола Http, но сильная связь высокая)
- Опираясь на платформу Spring и используя Spring Boot для создания сервисов, функции являются комплексными и готовыми к использованию.
- Высокая активность сообщества и богатая документация
3. Как использовать SpringCloud?
А. Обзор компонентов SpringCloud
б. Архитектура приложения
Процесс
- Запросы на доступ к внутренним службам через шлюз API (Zuul).
- После того, как шлюз получает запрос, он получает доступные службы из реестра (Eureka).
- После того, как нагрузка сбалансирована лентой, она распределяется между конкретными серверными экземплярами.
- Микросервисы общаются и обрабатывают бизнес через Feign.
- Hystrix отвечает за работу с предохранителем тайм-аута обслуживания.
- Turbine отслеживает вызовы и показатели, связанные с автоматическим выключателем, между службами.
Эта статья предназначена только для обучения и общения, если есть какие-либо недоразумения, пожалуйста, поправьте меня.
Ссылаться на: