{"id":18802406,"url":"https://github.com/jd-opensource/joylive-agent","last_synced_at":"2025-04-05T16:10:14.598Z","repository":{"id":235937781,"uuid":"791577659","full_name":"jd-opensource/joylive-agent","owner":"jd-opensource","description":"Java bytecode enhancement framework for traffic governance in multi-live (unit) scenarios. 基于字节码增强的面向应用多活和单元化的微服务流量治理框架。","archived":false,"fork":false,"pushed_at":"2024-10-30T02:47:50.000Z","size":9021,"stargazers_count":129,"open_issues_count":21,"forks_count":18,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-10-30T03:56:46.528Z","etag":null,"topics":["active-active","agent","enhancement","flowcontrol","governance","mesh","microservice","multi-live","proxyless","swimlane"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jd-opensource.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":"docs/governance.md","roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-25T01:08:49.000Z","updated_at":"2024-10-30T02:47:55.000Z","dependencies_parsed_at":"2024-05-28T04:59:39.944Z","dependency_job_id":"fbea7c08-e148-474a-b519-3738003682dd","html_url":"https://github.com/jd-opensource/joylive-agent","commit_stats":null,"previous_names":["jd-opensource/joylive-agent"],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2Fjoylive-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2Fjoylive-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2Fjoylive-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jd-opensource%2Fjoylive-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jd-opensource","download_url":"https://codeload.github.com/jd-opensource/joylive-agent/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361695,"owners_count":20926643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["active-active","agent","enhancement","flowcontrol","governance","mesh","microservice","multi-live","proxyless","swimlane"],"created_at":"2024-11-07T22:27:58.611Z","updated_at":"2025-04-05T16:10:14.567Z","avatar_url":"https://github.com/jd-opensource.png","language":"Java","readme":"# joylive-agent\n\n[![Build](https://github.com/jd-opensource/joylive-agent/actions/workflows/build.yml/badge.svg)](https://github.com/jd-opensource/joylive-agent/actions/workflows/build.yml)\n![License](https://img.shields.io/github/license/jd-opensource/joylive-agent.svg)\n[![Maven Central](https://img.shields.io/maven-central/v/com.jd.live/joylive-agent.svg?label=maven%20central)](https://search.maven.org/search?q=g:com.jd.live)\n[![GitHub repo](https://img.shields.io/badge/GitHub-repo-blue)](https://github.com/jd-opensource/joylive-agent)\n[![GitHub release](https://img.shields.io/github/release/jd-opensource/joylive-agent.svg)](https://github.com/jd-opensource/joylive-agent/releases)\n[![Percentage of issues still open](http://isitmaintained.com/badge/open/jd-opensource/joylive-agent.svg)](http://isitmaintained.com/project/jd-opensource/joylive-agent \"Percentage of issues still open\")\n[![Slack Status](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack\u0026style=social)](https://joylivehq.slack.com)\n\n\u003cimg src=\"docs/image/weixin.png\" title=\"该二维码有效期截止到2025/04/03\" width=\"150\"  /\u003e\n\n[English](./README.md) | 简体中文\n\n## 概述\n\n微服务治理框架，基于字节码增强技术，采用微内核可扩展架构的Proxyless实现。\n相对于Sidecar模式，具备高性能和低资源损耗特性。\n除了支持传统的微服务治理，如熔断、限流和降级，还实现了泳道治理和应用多活的流量治理。\n提供了Spring cloud hoxton/2020/2021/2022/2023/2024、 Dubbo 2.6/2.7/3、SofaRpc、Rocketmq和Kafka的流量治理插件。\n使企业现存的大量的Java应用，无需修改业务代码，就可以获得开箱即用的流量治理能力，支持同城、异地和多云多活场景下的流量调度，提升了业务稳定性和容灾能力。\n\n## 架构\n1. Agent在多活场景应用   \n   ![pic](docs/image/architect-0.png)\n\n2. Agent架构图   \n   ![pic](docs/image/architect-1.png)\n\n3. Agent治理原理   \n   ![pic](docs/image/architect-2.png)\n\n4. Agent基于泳道的全链路灰度   \n   ![pic](docs/image/architect-3.png)\n\n5. Agent本地分区优先策略   \n   ![pic](docs/image/architect-4.png)\n\n6. 更多请参考[架构手册](docs/cn/architect.md)\n\n## 关联项目\n\n1. [joylive-injector](https://github.com/jd-opensource/joylive-injector)，用于云原生场景自动注入`joylive-agent`\n\n## 如何使用\n\n### 需求\n\n编译需求: JDK 17+ 与 Maven 3.2.5+\n\n运行需求: JDK 8+\n\n注意：使用IDEA请关闭交叉编译，如下图所示\n\n![pic](docs/image/idea-0.jpg)\n\n\n## 主要特性\n\n1. 支持同城多活、异地多活等多种模型的流量控制；\n2. 支持基于泳道的全链路灰度，QPS与并发限流，标签路由，负载均衡等微服务治理策略；\n3. 支持分区本地优先和跨分区容错策略；\n4. 采用字节码增强技术，对业务代码无侵入，业务性能影响最小；\n5. 采用微内核架构，强类隔离，简单易用的扩展和配置体系。\n\n## 快速开始\n\n查看 [快速开始](./docs/cn/quickstart.md)\n\n## 配置参考手册\n\n查看 [配置参考手册](./docs/cn/config.md)\n\n## 使用示例\n\n查看 [使用示例](./docs/cn/example.md)\n\n## 常见问题\n\n查看 [常见问题](./docs/cn/qa.md)\n\n## 发布历史\n\n查看 [发布历史](./RELEASE-zh.md)\n\n## 路线图\n\n查看 [路线图](./docs/cn/roadmap.md)\n","funding_links":[],"categories":["微服务治理"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjd-opensource%2Fjoylive-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjd-opensource%2Fjoylive-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjd-opensource%2Fjoylive-agent/lists"}