Резюме
В этой статье будут представлены общая архитектура и характеристики проекта с открытым исходным кодом ServiceComb, расширенные функции ServiceComb Release 0.3.0, а также способы и методы участия в разработке программного обеспечения с открытым исходным кодом на основе ServiceComb.
Источник контента:26 октября 2017 года Цзян Нин, эксперт в области открытого исходного кода Huawei PaaS, выступил с речью «Введение в проект ServiceComb с открытым исходным кодом» на «ServiceComb Live Online». IT big coffee сообщил, что как эксклюзивный видео-партнер, он был выпущен с разрешения организатора и спикера.
Количество прочитанных слов: 1822 | 4 минуты чтения
Проблемы, с которыми сталкивается разработка микросервисов корпоративных приложений
Бизнес-логика предприятия сложна, как осуществлять межкомандную совместную разработку?
Как поддержать быстрое преобразование услуг большого количества старых системных кодов?
Облачные приложения сложны и сталкиваются с проблемой отслеживания вызовов при распределении мониторинга?
В качестве полнофункциональной микросервисной платформы ServiceComb включает генерацию кода платформы приложений, обнаружение регистрации сервисов, управление конфигурацией сервисов, мониторинг сервисов, отслеживание вызовов сервисов, поддержку нескольких протоколов связи и другие функции, предоставляя разработчикам сквозную разработку приложений. опыт. Кроме того, ServiceComb обладает такими преимуществами, как сервисно-ориентированное расширение контрактов и управление событиями, а также предоставляет возможности отслеживания распределенных транзакций, которые могут лучше решать вышеупомянутые проблемы, возникающие при разработке микросервисов корпоративных приложений. ServiceComb использует концепцию дизайна с открытой архитектурой и совместим с различными популярными в отрасли платформами микросервисов. Разработчики также могут настраивать бизнес-плагины в соответствии со своими бизнес-потребностями.
В то же время микросервисный движок Huawei, который имеет то же происхождение, что и ServiecComb, также будет независимо запущен для публичного бета-тестирования в середине-начале ноября.
На приведенном выше рисунке показана архитектурная схема ServiceComb.Среда выполнения ServiceComb включает два основных модуля. Одна часть — это сервисный контракт, который представляет собой стандартную информацию описания для сервисов Restful, реализованных на основе открытого API, который является независимым и специфичным языком. Сервисный контракт — очень важная основная функция ServiceComb.
Существует также множество возможностей расширения служб, предоставляемых подключаемыми модулями во время выполнения, таких как обнаружение служб, прерывание цепи, балансировка нагрузки, настройка и отслеживание. Поскольку микросервисы существуют в виде независимых процессов, инфраструктуре микросервисов в первую очередь необходимо обеспечить сетевой вызов между сервисами. балансировка нагрузки, надежность звонков. С точки зрения модели программирования ServiceComb поддерживает синхронный, асинхронный, реактивный и другие режимы программирования. Модель связи здесь в основном отвечает за сериализацию сообщений и протокол передачи.
Зачем нужен сервисный контракт
Как потребитель услуги:
Нужно точно знать, как вызвать службу?
Нужно знать, каковы параметры вызова службы?
Нужно знать, что передается?
Как поставщик услуг:
Сложно предоставить документацию с подробным описанием?
Также сложно предоставить и поддерживать стандартный SDK?
Оказание поддержки пользователям также неудобно.
Контракт на обслуживание можно рассматривать как контракт на транзакции или общение между производителями и потребителями. Контракты на обслуживание могут гарантировать, что потребители услуг и поставщики услуг могут взаимодействовать взаимно согласованным образом. Самым большим преимуществом этого является то, что код и документы могут быть согласованы, и в то же время эти контракты могут определять относительно четкие возможности для каждой службы, что может лучше помочь нам координировать и управлять вызовами между службами.
определение контракта на обслуживание
ServiceCombJava SDK поддерживает режимы разработки API First и Code First, и пользователи могут гибко выбирать в соответствии со своими потребностями.
Ориентирован на контракты интерфейса, а не на логику, и инструменты могут генерировать соответствующий код-заглушку или программы вызова службы в соответствии с контрактом;
Через контракт на обслуживание параметры вызова службы уже связаны с услугой, поэтому потребителю услуги не нужно ждать, пока поставщик услуг завершит разработку до соответствующей разработки, что значительно повышает эффективность разработки приложений;
Контракт определяется как нейтральный к языку, а код заглушки службы или код вызова на разных языках может быть сгенерирован соответствующими инструментами;
С помощью соответствующих инструментов интерфейса документы описания API могут быть автоматически сгенерированы в соответствии с кодом интерфейса службы, чтобы можно было синхронизировать код реализации и документ;
ServiceCombJava SDK получает информацию описания интерфейса Restful непосредственно с уровня кода путем прямого анализа файла класса интерфейса службы и создает информацию описания контракта. В настоящее время ServiceComb Java SDK поддерживает Spring MVC и JAXRS, а также другие методы определения службы Restful.
Гарантированная производительность системы благодаря асинхронным операциям обработки событий
Вся структура основана на управлении событиями и обрабатывается по принципу Event-Loop, что дает самое большое преимущество в том, что не будет слишком большого переключения потоков. Асинхронные операции могут значительно повысить эффективность обработки приложений. В настоящее время инфраструктура обработки событий ServiceCombJavaSDK поддерживает не только протокол Restful, но и протокол RPC.
Распределенное отслеживание звонков
ServiceComb Java SDK поддерживает стандартный протокол трассировки на основе Zipkin, а также поддерживает @span для расширения возможностей трассировки транзакций.
В процессе конкретной реализации мы также предоставляем цепочку вызовов, на основе этой цепочки вызовов вы можете легко запросить определенный вами процессор, подключиться к нужному вам протоколу, а затем выполнить соответствующее отслеживание.
Информация о кодовой базе ServiceComb
Java-шасси: Java-версия микросервисного фреймворка;
сервис-центр: сервисный центр на языке go;
ServiceComb-Saga: давно работающая структура обработки транзакций.
Новые возможности компонентов ServiceComb
Сервис-Центр 0.2.0:
Предоставляется консоль управления для предоставления функций управления для зарегистрированных экземпляров службы.
Java-шасси0.3.0:
Поддерживает определение транзакций с помощью аннотаций @Span, унифицирует обработку запросов Http и поддерживает пользовательскую обработку вызовов Rest.
Сага0.1.0:
Предоставляет предварительную услугу вызовов Saga, поддерживает последовательную и параллельную обработку вызовов.
вклад сообщества
Благодаря обратной связи с сообществом потребности пользователей могут быть своевременно получены, а улучшения могут быть сделаны быстро и прозрачно в сообществе. Поэтому я надеюсь, что все будут активно участвовать в жизни сообщества.
Проект ServiceComb полностью интегрирован с открытым исходным кодом и с момента своего рождения придерживается трех концепций открытости, стандартов и экологии. ServiceComb использует подход с открытым исходным кодом для сотрудничества с сообществом, и пользователи могут участвовать в развитии сообщества в любой роли, будь то разработчик, писатель, тестировщик или пользователь, все очень приветствуются. В настоящее время работа сообщества ведется на github (https://github.com/ServiceComb), официальном сайте (https://www.servicecomb.io) и JIRA (https://servicecomb.atlassian.net). ), разработчики и пользователи Всю информацию о проекте можно найти выше. ServiceComb с нетерпением ждет участия членов сообщества. Пользователи могут упоминать проблемы, обнаруженные в процессе использования, в списке задач или JIRA или инициировать обсуждения, или они могут заявить о проблемах и внести свой вклад в PR. Любой метод приветствуется.
Разработчики могут прочитать руководство разработчика по адресу http://servicecomb.io/cn/developers/.
Вот и все на сегодняшнем обмене, спасибо всем!