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

OSCHINA-MIRROR/ddfeiyu-trace-log-spring-boot-starter

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 8.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 16:28 d2f298f

Введение

Trace-log-spring-boot-starter (traceLog) — это простой в использовании Java-компонент для распределённой трассировки журналов, который поддерживает миллиарды записей и позволяет удобно и быстро искать журналы без необходимости просматривать их в файлах. Он также поддерживает поиск по цепочке вызовов и просмотр времени выполнения каждого вызова, что помогает быстро находить проблемы в распределённых системах.

Компонент прост в использовании, не требует изменений кода и имеет удобный интерфейс поиска. Он эффективен, удобен и подходит для любых Java-систем.

Прогресс на данный момент: версия 1.0 завершена.

  • Описание системы:

    • Бесинвазивная распределённая система журналов, основанная на ELK для сбора журналов и Skywalking для установки идентификаторов цепочек вызовов.
    • Использует Elasticsearch в качестве поисковой системы.
    • Высокая пропускная способность и эффективность поиска.
    • Поддержка Redis для реального времени и Elasticsearch для исторических запросов.
    • Поддержка Skywalking 6.0.0-beta для отслеживания журналов промежуточного ПО:
      • HTTP Server: Tomcat 7, 8, 9, Spring Boot Web 4.x, Spring MVC 3.x, 4.x 5.x with servlet 3.x, Nutz Web Framework 1.x, Struts2 MVC 2.3.x -> 2.5.x, Resin 3 (Optional¹), Resin 4 (Optional¹), Jetty Server 9, Spring WebFlux 5.x, Undertow 1.3.0.Final -> 2.0.27.Final, RESTEasy 3.1.0.Final -> 3.7.0.Final, Play Framework 2.6.x -> 2.8.x, Light4J Microservices Framework 1.6.x -> 2.x, Netty SocketIO 1.x.
      • HTTP Client: Feign 9.x, Netflix Spring Cloud Feign 1.1.x -> 2.x, Okhttp 3.x, Apache httpcomponent HttpClient 2.0 -> 3.1, 4.2, 4.3, Spring RestTemplete 4.x, Jetty Client 9, Apache httpcomponent AsyncClient 4.x, HTTP Gateway, Spring Cloud Gateway 2.1.x.RELEASE (Optional²).
      • JDBC: MySQL Driver 5.x, 6.x, 8.x, Oracle Driver (Optional¹), H2 Driver 1.3.x -> 1.4.x, Sharding-JDBC 1.5.x, ShardingSphere 3.0.0, 4.0.0-RC1, PostgreSQL Driver 8.x, 9.x, 42.x, Mariadb Driver 2.x, 1.8.
      • RPC Frameworks: Dubbo 2.5.4 -> 2.6.0, Dubbox 2.8.4, Apache Dubbo 2.7.0, Motan 0.2.x -> 1.1.0, gRPC 1.x, Apache ServiceComb Java Chassis 0.1 -> 0.5,1.x, SOFARPC 5.4.0, Armeria 0.63.0 -> 0.98.0, Apache Avro 1.7.0 - 1.8.x, Finagle 6.25.0 -> 20.1.0.
      • MQ: RocketMQ 4.x, Kafka 0.11.0.0 -> 1.0, ActiveMQ 5.10.0 -> 5.15.4, RabbitMQ 5.x, Pulsar 2.2.x -> 2.4.x.
      • NoSQL: Redis, Jedis 2.x, Redisson Easy Java Redis client 3.5.2+, Lettuce 5.x, MongoDB Java Driver 2.13-2.14, 3.4.0-3.11.1, Memcached Client, Spymemcached 2.x, Xmemcached 2.x.
      • Elasticsearch: transport-client 5.2.x-5.6.x, transport-client 6.7.1-6.8.4, rest-high-level-client 6.7.1-6.8.4, rest-high-level-client 7.0.0-7.5.2, Solr, SolrJ 7.x, Cassandra 3.x, cassandra-java-driver 3.7.0-3.7.2.
      • Service Discovery: Netflix Eureka, Distributed Coordination, Zookeeper 3.4.x (Optional² & Except 3.4.4).
      • Spring Ecosystem: Spring Bean annotations(@Bean, @Service, @Component, @Repository) 3.x and 4.x (Optional²), Spring Core Async SuccessCallback/FailureCallback/ListenableFutureCallback 4.x, Spring Transaction 4.x and 5.x (Optional²), Hystrix: Latency and Fault Tolerance for Distributed Systems 1.4.20 -> 1.5.12.
      • Scheduler: Elastic Job 2.x.
      • OpenTracing community supported: Canal: Alibaba mysql database binlog incremental subscription & consumer components 1.0.25 -> 1.1.2.
      • JSON: GSON 2.8.x (Optional²).
      • Vert.x Ecosystem: Vert.x Eventbus 3.2+ , Vert.x Web 3.x.
      • Thread Schedule Framework: Spring @Async 4.x and 5.x.
      • Cache: Ehcache 2.x.
      • Kotlin: Coroutine 1.0.1 -> 1.3.x (Optional²).
  • Архитектура программного обеспечения:

    • log-spring-boot-starter — клиентский стартер, собирает данные о цепочках вызовов, отправляет их через log-spring-boot-netty в log-spring-boot-core.
    • log-spring-boot-core — ядро журнала, асинхронно сохраняет собранные данные в Redis и Elasticsearch.
    • log-spring-boot-netty — сетевой компонент, обеспечивает связь между starter и core с помощью netty.
  • Технологический стек программного обеспечения: spring boot, skywalking, redis, es, netty, kafka.

  • Инструкция по установке:

    1. xxxx.
    2. xxxx.
    3. xxxx.
  • Использование:

    1. Установите и настройте Skywalking. Для Linux:
cd /home/data/app/
wget  https://mirror.bit.edu.cn/apache/skywalking/6.6.0/apache-skywalking-apm-es7-6.6.0.tar.gz
tar -xzvf apache-skywalking-apm-es7-6.6.0.tar.gz
2. Сервер:
2.1 Добавьте конфигурацию в application.properties:
# netty 服务端端口
ddfeiyu.netty.server.port=8082

## 日志redis队列 (注意redis集群模式和单机模式可任意配置一项。如果全部配置,则采用集群ip ,下面实例则为redis集群模式)
# redis集群模式
ddfeiyu.redis.cluster.nodes=10.10.10.1:7001,10.10.10.2:7001,10.10.10.3:7001
ddfeiyu.redis.cluster.max-redirects=5

#redis单机模式
ddfeiyu.redis.host=192.168.0.125
ddfeiyu.redis.port=6379
ddfeiyu.redis.password=

* *Примечание:* В этом тексте могут быть неточности или ошибки перевода, так как некоторые фрагменты текста были непонятны или неоднозначны. **Оптимизация работы с журналами: версии 2.0 и 3.0**

Версия 2.0:
* Оптимизация процесса сбора и записи журналов с использованием высокопроизводительной очереди без блокировки Disruptor (https://www.cnblogs.com/aheizi/p/6879931.html).
* Запись журналов в ES для архивации и последующего поиска исторических данных.

Версия 3.0:
* Разработка интерфейса для управления индексами, поиском и очередью журналов.
* Сбор и запись SQL-запросов к базе данных (DB) в журналах.

**Контакты и сотрудничество**

Для связи можно использовать QQ-группу: 816929140.

Сотрудничество включает следующие шаги:
1. Форк текущего репозитория.
2. Создание новой ветки с именем Feat_xxx.
3. Отправка кода.
4. Создание Pull Request.

**Особенности использования Code Cloud**

1. Поддержка разных языков через файлы Readme_XXX.md, например Readme_en.md или Readme_zh.md.
2. Официальный блог Code Cloud: blog.gitee.com.
3. Поиск интересных проектов на Code Cloud по адресу: https://gitee.com/explore.
4. GVP — это обозначение для самых ценных проектов на Code Cloud, которые были выбраны на основе комплексного анализа.
5. Официальная документация Code Cloud доступна по ссылке: https://gitee.com/help.
6. Code Cloud также предлагает раздел с фотографиями членов сообщества, который называется «Звёзды Code Cloud»: https://gitee.com/gitee-stars/.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/ddfeiyu-trace-log-spring-boot-starter.git
git@api.gitlife.ru:oschina-mirror/ddfeiyu-trace-log-spring-boot-starter.git
oschina-mirror
ddfeiyu-trace-log-spring-boot-starter
ddfeiyu-trace-log-spring-boot-starter
master