1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/exclusiver-springcloud2020

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

springcloud2020 (завершён)

Описание

Код, напечатанный вручную по руководству Yang'a по Spring Cloud. В случае ошибок буду признателен за указание на них. Завершён (13 марта 2020 года)!

Архитектура программного обеспечения

Последняя версия Spring Cloud #### Дата обновления Инструмент для тестирования API непосредственно использует IDEA --> Tools --> HTTP Client --> Test Restful Web Service

  1. 5 марта 2020 года — Обновление модуля платежей
  2. 6 марта 2020 года — Переработка с удалением опциональной зависимости Lombok в api-commons, чтобы избежать запрета передачи зависимостей при true значении опции optional.
            <!-- Неправильный -->
              <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
              </dependency>
              <!-- Правильный -->
               <dependency>
                  <groupId>org.projectlombok</groupId>
                  <artifactId>lombok</artifactId>
               </dependency>
  • Кластерный режим Eureka: балансировка нагрузки, управление отказоустойчивостью

  • Установка кластера Eureka

      1. Изменение hosts
        C:\Windows\System32\drivers\etc
        127.0.0.1 eureka7001.com
        127.0.0.1 eureka7002.com
  • Consul: https://www.consul.io/downloads.html Команды: consul --version: просмотреть информацию о версии consul agent -dev: запустить установку Consul

  • Различия между тремя регистрами | Компонент | Язык | CAP | Проверка состояния сервиса | Открытый API | Интеграция с Spring Cloud | | --------- | ---- | ---- | ---------------------------- | ------------- | ------------------------- | | Eureka | Java | AP | Поддерживается проверка состояния сервиса | HTTP | Да | | Consul | Go | CP | Поддерживается проверка состояния сервиса | HTTP, DNS | Да | | ZooKeeper | Java | CP | Поддерживается проверка состояния сервиса | клиентская модель | Да |

  • Hystrix Деградация сервиса, предотвращение цепного эффекта отказа, повышение эластичности распределённой системы. https://github.com/Netflix/Hystrix

    1. Важные концепции Hystrix (контур защиты): деградация сервиса (fallback), отключение сервиса (circuit breaker), ограничение пропускной способности (flow limit, высокий пиковый трафик)
  • Spring Cloud Gateway Описание: шлюз запросов к сервисам, основан на Spring Boot 2. 0, Spring WebFlux, Project Reactor. Предлагает простой и эффективный способ маршрутизации API с использованием мощных фильтров, таких как отключение, ограничение запросов, повторные попытки и т. д.Особенности: динамическая маршрутизация, поддержка утверждений и фильтров, интеграция с бритвенной машиной Hystrix для создания циклического соединения, интеграция с функцией обнаружения сервисов Spring Cloud, функцией ограничения запросов и поддержкой переопределения путей.

  • Конфигурация: решение проблем конфигурации в распределённых системах. Spring Cloud Config предоставляет несколько вариантов внешней конфигурации для микросервисов в архитектуре микрослужбы. Конфигурационный сервер обеспечивает централизованную внешнюю конфигурацию для всех различных сред микрослужб.

    Проект Spring Cloud Config был перемещён на gitee по адресу: https://gitee.com/exclusiver/springcloud-config. Поскольку gitee не настроен на SSH-среду, файл конфигурации yml проекта ConfigCenterMain3344 следует изменить следующим образом:
    Обратите внимание на URI-адрес на строке 12.
    server:
      port: 3344
    spring:
      application:
        name: cloud-config-center
      cloud:
        config:
          server:
            git:
              uri: https://gitee.com/exclusiver/springcloud-config.git
              search-paths:
                - springcoud-config
          label: master
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:7001/eureka

    bootstrap.yml: система уровня, имеет более высокий приоритет. Динамическое обновление через POST.

    curl -X POST "http://localhost:3355/actuator/refresh"
    ```- **Базовая станция (Bus)**:
    - Установка RabbitMQ с помощью Docker.
        ```markdown
        docker pull rabbitmq:management
        docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management
        ```
        Из-за предыдущего установочного процесса RabbitMQ через Docker возникли ошибки при запуске командой `docker start`.
        ```markdown
        Ошибка: iptables failed: iptables --wait -t nat -A DOCKER
        Решение:
        pkill docker
        iptables -t nat -F
        ifconfig docker0 down
        brctl delbr docker0
        docker -d
        systemctl restart docker
        ```
        Для массового уведомления используйте:
        ```markdown
        curl -X POST "http://localhost:3344/actuator/bus-refresh"
        При получении ответа 403 обратитесь к: https://ask.csdn.net/questions/684123
        Для точечного уведомления используйте:
        curl -X POST "http://localhost:3344/actuator/bus-refresh/config-client:3355"
        ```- **Stream**: скрытие различий нижележащих сообщений промежуточных служб, снижение затрат на переход между ними, использование единого программного модели для одной и той же информации.

Общие аннотации: @Input, @Output, @StreamListener, @EnableBinding

Разные группы могут повторно потреблять данные, одна и та же группа — нет: group: XXX

  • Sleuth Адрес для скачивания Zipkin: dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/ Запуск: java -jar zipkin-server-2.12.9-exec.jar Доступ: http://localhost:9411/zipkin/

  • Spring Cloud Alibaba Nacos (Naming Configuration Service) Официальный сайт: https://nacos.io/zh-cn/

    • Сервисный регистратор
    • Центр конфигураций сервисов
    • Настройка кластера и долговременного хранения данных Встроенный в Nacos циклический балансировщик нагрузки позволяет настраивать поддержку CP/AP
    
    

curl -X PUT '$NACOS_SERVER:8848/nacos/v1/ns/operator/switches?entry=serverMode&value=CP'

  Пространство имён, Группа, Id данных

- Sentinel
  Официальный сайт: https://github.com/alibaba/Sentinel
  Ссылка для скачивания: https://github.com/alibaba/Sentinel/releases
  **Компонент управления потоками и автоматического отключения для облачных микросервисов**
  - Предотвращение снежной лавины — подготовка
  - Отключение сервиса
  - Автоматическое отключение сервиса — время выполнения запроса, количество ошибок, процент ошибок
  - Лимитирование потока сервиса — [горячие точки](https://github.com/alibaba/Sentinel/wiki/%D0%93%D0%BE%D1%80%D1%8F%D1%87%D0%B8%D0%B5-%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81)
  Условия запуска: Java 8 установлен и порт 8080 свободен
  Команда: java -jar sentinel-dashboard-1.7.0.jar
  Доступ: http://localhost:8080/```json
[
    {
        "resource": "/rateLimit/byUrl",
        "limitApp": "default",
        "grade": 1,
        "count": 1,
        "strategy": 0,
        "controlBehavior": 0,
        "clusterMode": false
    }
]
  • Seata Решение распределённых транзакций Официальный сайт: https://seata.io/en-us/ Идентификатор транзакции XID TC — координатор транзакций TM — менеджер транзакций RM — менеджер ресурсов Использование: локально: @Transaction, глобально: @GlobalTransaction

КОНЕЦ

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Следуя пошагово руководству по springcloud от Ян Гэ, я самостоятельно набирал код. Если найдёте ошибки, буду благодарен за исправления. Руководство завершено. Буду признателен, если оно окажется вам полезным. Пожалуйста, поставьте лайк! Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/exclusiver-springcloud2020.git
git@api.gitlife.ru:oschina-mirror/exclusiver-springcloud2020.git
oschina-mirror
exclusiver-springcloud2020
exclusiver-springcloud2020
master