Код, напечатанный вручную по руководству Yang'a по Spring Cloud. В случае ошибок буду признателен за указание на них. Завершён (13 марта 2020 года)!
Последняя версия Spring Cloud #### Дата обновления Инструмент для тестирования API непосредственно использует IDEA --> Tools --> HTTP Client --> Test Restful Web Service
<!-- Неправильный -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- Правильный -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
Кластерный режим Eureka: балансировка нагрузки, управление отказоустойчивостью
Установка кластера Eureka
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
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**: скрытие различий нижележащих сообщений промежуточных служб, снижение затрат на переход между ними, использование единого программного модели для одной и той же информации.
Разные группы могут повторно потреблять данные, одна и та же группа — нет: 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/
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
}
]
@Transaction
, глобально: @GlobalTransaction
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )