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

OSCHINA-MIRROR/exclusiver-springcloud2020

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 10 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 13.03.2025 06:23 b0d1dc9

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 )

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

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