Перечень технологий Java middle и Taiwan, вы недостаточно знаете об этих технологиях

задняя часть
Перечень технологий Java middle и Taiwan, вы недостаточно знаете об этих технологиях

"Что загорится в 2022 году? Чему научиться? Эта статья участвует«Поговорим о технологических тенденциях 2022 года»Требуют документов"

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

а

Zhongtai представляет собой набор комбинированных интернет-технологий и отраслевых характеристик, который ускоряет основные возможности предприятий в форме общих услуг для формирования темы и бизнес-механизма «крупной, средней и малой стойки регистрации», предоставляя предприятиям недорогие услуги. структура предприятия для бизнес-инноваций. Средний офис может быть дополнительно подразделен, например: промежуточная станция для бизнеса, промежуточная станция данных, промежуточная станция XX. По сути, это осаждение общих возможностей предприятий разного уровня и раскрытие внешних возможностей.

Практикующий в Китае и Тайване

Suppercell: финский гигант мобильных игр, с 5 из 10 лучших игр в мире в 2015 году, имеет всего более 200 сотрудников.Благодаря использованию средней платформы он может быстро развиваться с небольшой командой и был позже приобретена Tencent за 8,6 млрд долларов США.
Али: Посетил Supercell в 2015 году, а затем запустил среднюю сцену.

Дата-центр VS бизнес-центр

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

Технология бизнес-мидл-офиса

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

Spring

Spring Framework — это базовая среда с открытым исходным кодом в Spring, которая в основном используется для корпоративной разработки JavaEE. Что такое весна? Во-первых, это проект с открытым исходным кодом, и он очень активен, это фреймворк для построения многоуровневых JavaEE-систем на основе IOC и АОП, но он не заставляет вас использовать Spring в каждом слое, потому что он очень модульный, что позволяет вам выбрать один из его модулей в соответствии с вашими потребностями; он реализует очень элегантный MVC, предоставляет унифицированный интерфейс для различных технологий доступа к данным и использует IOC, чтобы упростить реализацию сборки Bean, обеспечивая краткий АОП и внедрить управление транзакциями и так далее соответственно.

Текущая основная версия, поддерживаемая Spring, — 5.3, а поддержка с открытым исходным кодом будет доступна не позднее 2025 года.

Spring Boot

Spring Boot — это новая платформа, предоставленная командой Pivotal, предназначенная для упрощения первоначальной настройки и разработки новых приложений Spring. Фреймворк использует особый способ настройки, поэтому разработчикам больше не нужно определять шаблонную конфигурацию. Таким образом, Spring Boot стремится стать лидером в быстро развивающейся области быстрой разработки приложений.

Spring Cloud

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

Spring Cloud Netflix можно считать самой сильной структурой Spring-Cloud 1.x, предоставляющей отличные компоненты, такие как Eureka, Hystrix, Zuul, Ribbon и так далее. Однако после некоторого перерыва его заменили некоторые другие компоненты Spring-Cloud, такие как Spring Cloud Alibaba. В любом случае Netflix также является ключевым фактором в путешествии по Spring Cloud.

MyBatis

MyBatis – отличное ПО промежуточного слоя ORM для сохранения данных. Мы обычно используем его двумя способами: XML и аннотации, а подключаемый модуль MyBatis-Generator помогает нам быстро генерировать CRUD-код для базы данных.

MyBaits также поддерживает интеграцию со Spring и является одной из наиболее часто используемых сред уровня сохраняемости данных в Интернете и бизнес-центрах.

На самом деле, отличный фреймворк слоя сохранения — это Hibernate, я использую его с 14 или 15 лет, а компании, занимающиеся последним, используются реже.

Промежуточное ПО Alibaba

Я должен сказать об Alibaba, потому что Alibaba в настоящее время является одной из крупных команд в стеке технологий Java, а также внесла много отличных сред с открытым исходным кодом, таких как: Doubbo, Nacos, Seata, Sentinel и т. д.

Nacos

Nacos — это промежуточное ПО для обнаружения, настройки и управления услугами. Nacos предоставляет набор простых в использовании наборов функций для быстрого внедрения динамического обнаружения сервисов, настройки сервисов, метаданных сервисов и управления трафиком.

Nacos позволяет нам создавать, поставлять и управлять микросервисными платформами более гибко и легко. Nacos — это сервисная инфраструктура для создания современных архитектур приложений, основанных на «сервисах» (таких как парадигма микросервисов, облачная парадигма).

Ключевые особенности Nacos включают в себя:

  • Обнаружение служб и мониторинг работоспособности службNacos поддерживает обнаружение сервисов на основе DNS и RPC. После того как поставщик услуг зарегистрирует службу с помощью собственного SDK, OpenAPI или отдельного агента TODO, потребитель службы может использовать DNS или HTTP и API для поиска и обнаружения службы. Nacos обеспечивает проверку работоспособности сервисов в режиме реального времени, предотвращая запросы к неработоспособным хостам или экземплярам сервисов. Nacos поддерживает проверки работоспособности транспортного уровня (PING или TCP) и прикладного уровня (например, HTTP, MySQL, определяемые пользователем). Для проверки работоспособности сервисов в сложных облачных средах и средах с топологией сети (таких как VPC, пограничные сети и т. д.) Nacos предлагает два режима проверки работоспособности: режим отчетов агента и активное обнаружение сервера. Nacos также предоставляет единую панель проверки работоспособности, которая поможет вам управлять доступностью услуг и трафиком в зависимости от состояния работоспособности.
  • Служба динамической настройкиСлужба динамической настройки позволяет управлять конфигурацией приложений и конфигурацией служб для всех сред централизованным, внешним и динамическим образом. Динамическая конфигурация устраняет необходимость повторного развертывания приложений и служб при изменении конфигурации, что делает управление конфигурацией более эффективным и гибким. Централизованное управление конфигурацией упрощает внедрение служб без сохранения состояния и упрощает гибкое масштабирование служб по требованию. Nacos предоставляет простой и удобный в использовании пользовательский интерфейс, который поможет вам управлять конфигурацией всех служб и приложений. Nacos также предоставляет ряд готовых функций управления конфигурацией, включая отслеживание версий конфигурации, канареечный выпуск, откат конфигурации одним щелчком мыши и отслеживание состояния обновления конфигурации клиента, чтобы помочь вам более безопасно управлять конфигурациями в производственных средах. риск изменения конфигурации.
  • Служба динамического DNSСлужба динамической DNS поддерживает взвешенную маршрутизацию, упрощая реализацию балансировки нагрузки среднего уровня, более гибких политик маршрутизации, управления трафиком и простых служб разрешения DNS во внутренней сети центра обработки данных. Динамические службы DNS также упрощают реализацию обнаружения служб на основе протокола DNS, помогая устранить риск привязки к частным API обнаружения служб поставщика. Nacos предоставляет несколько простых API-интерфейсов DNS, которые помогут вам управлять доменами, связанными с вашей службой, и доступными списками IP:PORT.
  • Службы и управление их метаданнымиNacos позволяет вам управлять всеми службами и метаданными в центре обработки данных с точки зрения создания микросервисной платформы, включая управление описанием службы, жизненным циклом службы, анализом статической зависимости службы, состоянием службы, управлением трафиком службы, политиками маршрутизации и безопасности, соглашениями об уровне обслуживания службы, и самое главное, показатели статистики. \

Схема архитектуры Nacos:

Sentinel

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

Sentinel обладает следующими характеристиками:

  • Богатые сценарии приложений: Sentinel за последние 10 лет реализовал основные сценарии Double Eleven от Alibaba, такие как всплески (т. , а также плавкие предохранители в реальном времени ниже по течению Недоступные приложения и т. д.
  • Полный мониторинг в режиме реального времени: Sentinel также предоставляет функции мониторинга в реальном времени. В консоли можно увидеть данные второго уровня отдельной машины, подключенной к приложению, и даже агрегированную работу кластера с масштабом менее 500.
  • Обширная экосистема с открытым исходным кодом: Sentinel предоставляет готовые модули интеграции с другими платформами/библиотеками с открытым исходным кодом, такие как интеграция с Spring Cloud, Apache Dubbo, gRPC, Quarkus. Вам нужно только ввести соответствующие зависимости и выполнить простую настройку для быстрого доступа к Sentinel. В то же время Sentinel предоставляет собственные реализации нескольких языков, таких как Java/Go/C++.
  • Идеальный механизм расширения SPI: Sentinel предоставляет простой в использовании и полный интерфейс расширения SPI. Вы можете быстро настроить логику, реализовав интерфейсы расширения. Например, управление пользовательскими правилами, адаптация источников динамических данных и т. д.

Стража экологии

Seata

Seata — это решение для распределенных транзакций с открытым исходным кодом, предназначенное для предоставления высокопроизводительных и простых в использовании сервисов распределенных транзакций. Seata предоставит пользователям режимы транзакций AT, TCC, SAGA и XA, создав универсальное распределенное решение для пользователей.

В режиме

На основе реляционной базы данных, которая поддерживает собственные транзакции ACID. Java-приложение, которое обращается к базе данных через JDBC. Реализовано на основе двухэтапной фиксации.

режим ТСС

Режим TCC в основном фокусируется на разделении бизнеса, при расширении ресурсов по горизонтали в соответствии с бизнесом решает проблему консистентности вызовов между микросервисами и обеспечивает транзакционный атрибут чтения доступа к ресурсам.

Режим мудреца

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

Arthas

Arthas — это инструмент диагностики Java с открытым исходным кодом от Alibaba. Например, когда мы сталкиваемся с распространенными проблемами, такими как OOM или время ожидания интерфейса, нам нужны инструменты анализа, такие как Arthas, для анализа программы во время выполнения и поиска узких мест в производительности.

ElasticSearch

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

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

Справочная документация