{"id":13783807,"url":"https://github.com/ExpediaGroup/stream-registry","last_synced_at":"2025-05-11T19:31:34.201Z","repository":{"id":37270731,"uuid":"159537834","full_name":"ExpediaGroup/stream-registry","owner":"ExpediaGroup","description":"Stream Discovery and Stream Orchestration","archived":false,"fork":false,"pushed_at":"2025-01-29T13:55:14.000Z","size":5792,"stargazers_count":122,"open_issues_count":52,"forks_count":54,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-01-29T14:30:58.700Z","etag":null,"topics":["metadata-management","oss-portal-featured","stream-processing","streams"],"latest_commit_sha":null,"homepage":"https://expediagroup.github.io/stream-registry/","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/ExpediaGroup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-28T17:12:11.000Z","updated_at":"2025-01-29T13:55:16.000Z","dependencies_parsed_at":"2023-11-27T14:43:01.222Z","dependency_job_id":"460fee6d-9de7-4a95-beb6-93fe3314dc96","html_url":"https://github.com/ExpediaGroup/stream-registry","commit_stats":null,"previous_names":["homeaway/stream-registry"],"tags_count":92,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fstream-registry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fstream-registry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fstream-registry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fstream-registry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ExpediaGroup","download_url":"https://codeload.github.com/ExpediaGroup/stream-registry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253621083,"owners_count":21937472,"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":["metadata-management","oss-portal-featured","stream-processing","streams"],"created_at":"2024-08-03T19:00:31.027Z","updated_at":"2025-05-11T19:31:32.776Z","avatar_url":"https://github.com/ExpediaGroup.png","language":"Java","readme":"# stream-registry [![Build Status][build-icon]][build-link]\n\n[build-icon]: https://travis-ci.org/ExpediaGroup/stream-registry.svg?branch=master\n[build-link]: https://travis-ci.org/ExpediaGroup/stream-registry\n\n\u003ccenter\u003e\n\u003cimg src=\"docs/docs/architecture/SR-logo.svg\" alt=\"StreamRegistryLogo\" style=\"max-width:50%;\"/\u003e\n\u003c/center\u003e\n\n# Announcement: 12th April 2019\nWe wanted to let you know that there are going to be some exciting developments with the Stream Registry project in the very near future. Stream Registry is being adopted by many brands at Expedia Group as a critical component of its digital nervous system for key streams across Expedia Group. Therefore, Vrbo stream registry is finding a new home.\n\n## What is changing\n* We will be investing in the project by expanding the existing team with full-time resources in several locations across Expedia Group. Expect greatly increased project activity: contributors, commits, issues, features, releases\n* The repository will relocate to the [ExpediaGroup open source GitHub org](https://github.com/ExpediaGroup) in its entirety, preserving the history and community\n\n## What isn't changing\n* The original vision of Stream Registry as a Stream Discovery and Stream Orchestration platform\n* The project will remain open source, and will be joined shortly by other supporting Expedia Group stream platform components\n* Licenses, conduct and contribution guidelines will remain unchanged\n* The value of your contributions - please keep them coming!\n\nWe expect the start of this journey to be a little bumpy, but please bear with us as we work towards the first release of the **Expedia Group** Stream Registry!\n\n# About\nA Stream Registry is what its name implies: it is a registry of streams. As enterprises increasingly scale in size,\nthe need to organize and develop around streams of data becomes paramount.  Synchronous calls are attracted to the edge,\nand a variety of synchronous and asynchronous calls permeate the enterprise.  The need for a declarative, central\nauthority for discovery and orchestration of stream management emerges.  This is what a stream registry provides.\nIn much the same way that DNS provides a name translation service for an ip address, by way of analogy, a\nStream Registry provides a “metadata service” for streams. By centralizing stream metadata, a stream translation service\nfor producer and/or consumer stream coördinates becomes possible. This centralized, yet democratized, stream metadata\nfunction thus streamlines operational complexity via stream lifecycle management, stream discovery,\nstream availability and resiliency.\n\n## Why Stream Registry?\n\nWe believe that as the change to business requirements accelerate, time to market pressures increase,\ncompetitive measures grow, migrations to cloud and different platforms are required, and so on, systems will\nincreasingly need to become more reactive and dynamic in nature.\n\n\u003cp align=\"center\"\u003eThe issue of \u003cem\u003estate\u003c/em\u003e arises.\u003c/p\u003e\n\nWe see many systems adopting _event-driven-architectures_ to facilitate the changing business needs in these high stakes\nenvironments.  We hypothesize there is an emerging need for a centralized \"stream metadata\" service in the\nindustry to help streamline the complexities and operations of deploying stream platforms that serve as a\ndistributed federated nervous system in the enterprise.\n\n## What is Stream Registry?\nPut simply, Stream Registry is a centralized service for stream metadata.\n\nThe stream registry can answer the following question:\n\n1. Who owns the stream?  \n2. Who are the producers and consumers of the stream?  \n3. Management of stream replication across clusters and regions\n4. Management of stream storage for permanent access\n5. Management of stream triggers for legacy stream sources\n\n## Architecture\n\n\u003ccenter\u003e\n\u003cimg src=\"docs/docs/architecture/StreamRegistryArchitecture.png\" alt=\"StreamRegistryArchitecture\"/\u003e\n\u003c/center\u003e\n\nSee the [architecture/northstar documentation](https://expediagroup.github.io/stream-registry/) for more details.\n\n## Building locally\n\nStream Registry is built using [OpenJDK 11](https://openjdk.java.net/install/) and Maven. \n\nStream Registry is currently packaged as a shaded JAR file.\nWe leave specific deployment considerations up to each team since this varies from enterprise to enterprise.\n\nTo build Stream Registry as a JAR file, please run\n\n```console\n./mvnw clean package\n```\n\n## Start Stream Registry\n\n\u003e \u003cem\u003e**Required Local Environment**\u003cbr/\u003e\n\u003e The local 'dev' version of Stream Registry requires a locally running version of Apache Kafka\n\u003e and Confluent's Schema Registry on ports 9092 and 8081, respectively.\u003c/em\u003e\n\nTo quickly get a local dev environment set up, we recommend to use Docker Compose.\n\nAlternatively, one can start Confluent Platform locally after downloading the [Confluent CLI][confluent-cli-doc] and running the following command.\n**Note**: The `confluent` command is currently only available for macOS and Linux. If using Windows, you'll need to use Docker, or run ZooKeeper, Kafka, and the Schema Registry all individually.\n\n  [confluent-cli-doc]: https://docs.confluent.io/current/cli/index.html\n\n```console\nconfluent start zookeeper\nconfluent start kafka\nconfluent start schema-registry\n```\n\nStream Registry can then be started.\n\nOnce Stream Registry has started, check that the application's GraphiQL server is running at http://localhost:8080/graphiql\n\n## Kafka Version Compatibility\n\nStream Registry development and initial deployment started with Kafka 0.11.0 / Confluent Platform 3.3.0, and has also been deployed against Kafka 1.1.1 / Confluent Platform 4.1.2.  \nAs per the [Kafka Compatibility Matrix][kafka-compatibility-doc], we expect Stream Registry to be compatbile with Kafka 0.10.0 and newer, and the internal Java Kafka clients used by Stream Registry can be found in the [`pom.xml`](pom.xml).\n\n  [kafka-compatibility-doc]: https://cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix\n\n## Run Unit Tests\n```console\n./mvnw clean test\n```\n\n## Contributors\nSpecial thanks to the following for making stream-registry possible at Vrbo and beyond!\n\n\u003c!-- Contributors START\nAdam_Westerman westeras https://www.linkedin.com/in/adam-westerman/ code\nArun_Vasudevan arunvasudevan https://www.linkedin.com/in/arun-vasudevan-55117368/ code design\nNathan_Walther nathanwalther https://www.linkedin.com/in/nwalther/ code prReview\nJordan_Moore cricket007 https://www.linkedin.com/in/jordanmoorerhit/ code answers\nCarlos_Cordero dccarlos https://www.linkedin.com/in/carlos-d%C3%A1vila-cordero-71128a11b/ code\nIshan_Dikshit ishandikshit https://www.linkedin.com/in/ishan-dikshit-4a1753ba/ code doc\nVinayak_Ponangi vinayakponangi https://www.linkedin.com/in/preethi-vinayak-ponangi-90ba3824/ code talks design prReview\nPrabhakaran_Thatchinamoorthy prabhakar1983 https://www.linkedin.com/in/prabhakaranthatchinamoorthy/ code design\nRui_Zhang ruizhang0519 https://www.linkedin.com/in/rui-zhang-54667a82/ code\nMiguel_Lucero mlucero10 https://www.linkedin.com/in/miguellucero/ code answers\nRené_X_Parra neoword https://www.linkedin.com/in/reneparra/ code doc blogpost talks design prReview\nContributors END --\u003e\n\u003c!-- Contributors table START --\u003e\n| [\u003cimg src=\"https://avatars.githubusercontent.com/westeras?s=100\" width=\"100\" alt=\"Adam Westerman\" /\u003e\u003cbr /\u003e\u003csub\u003eAdam Westerman\u003c/sub\u003e](https://www.linkedin.com/in/adam-westerman/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=westeras) | [\u003cimg src=\"https://avatars.githubusercontent.com/arunvasudevan?s=100\" width=\"100\" alt=\"Arun Vasudevan\" /\u003e\u003cbr /\u003e\u003csub\u003eArun Vasudevan\u003c/sub\u003e](https://www.linkedin.com/in/arun-vasudevan-55117368/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=arunvasudevan) 🎨 | [\u003cimg src=\"https://avatars.githubusercontent.com/nathanwalther?s=100\" width=\"100\" alt=\"Nathan Walther\" /\u003e\u003cbr /\u003e\u003csub\u003eNathan Walther\u003c/sub\u003e](https://www.linkedin.com/in/nwalther/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=nathanwalther) 👀 | [\u003cimg src=\"https://avatars.githubusercontent.com/cricket007?s=100\" width=\"100\" alt=\"Jordan Moore\" /\u003e\u003cbr /\u003e\u003csub\u003eJordan Moore\u003c/sub\u003e](https://www.linkedin.com/in/jordanmoorerhit/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=cricket007) 💁 | [\u003cimg src=\"https://avatars.githubusercontent.com/dccarlos?s=100\" width=\"100\" alt=\"Carlos Cordero\" /\u003e\u003cbr /\u003e\u003csub\u003eCarlos Cordero\u003c/sub\u003e](https://www.linkedin.com/in/carlos-d%C3%A1vila-cordero-71128a11b/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=dccarlos) | [\u003cimg src=\"https://avatars.githubusercontent.com/ishandikshit?s=100\" width=\"100\" alt=\"Ishan Dikshit\" /\u003e\u003cbr /\u003e\u003csub\u003eIshan Dikshit\u003c/sub\u003e](https://www.linkedin.com/in/ishan-dikshit-4a1753ba/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=ishandikshit) [📖](git@github.com:expediagroup/stream-registry/commits?author=ishandikshit) | [\u003cimg src=\"https://avatars.githubusercontent.com/vinayakponangi?s=100\" width=\"100\" alt=\"Vinayak Ponangi\" /\u003e\u003cbr /\u003e\u003csub\u003eVinayak Ponangi\u003c/sub\u003e](https://www.linkedin.com/in/preethi-vinayak-ponangi-90ba3824/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=vinayakponangi) 📢 🎨 👀 |\n| :---: | :---: | :---: | :---: | :---: | :---: | :---: |\n\n| [\u003cimg src=\"https://avatars.githubusercontent.com/prabhakar1983?s=100\" width=\"100\" alt=\"Prabhakaran Thatchinamoorthy\" /\u003e\u003cbr /\u003e\u003csub\u003ePrabhakaran Thatchinamoorthy\u003c/sub\u003e](https://www.linkedin.com/in/prabhakaranthatchinamoorthy/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=prabhakar1983) 🎨 | [\u003cimg src=\"https://avatars.githubusercontent.com/ruizhang0519?s=100\" width=\"100\" alt=\"Rui Zhang\" /\u003e\u003cbr /\u003e\u003csub\u003eRui Zhang\u003c/sub\u003e](https://www.linkedin.com/in/rui-zhang-54667a82/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=ruizhang0519) | [\u003cimg src=\"https://avatars.githubusercontent.com/mlucero10?s=100\" width=\"100\" alt=\"Miguel Lucero\" /\u003e\u003cbr /\u003e\u003csub\u003eMiguel Lucero\u003c/sub\u003e](https://www.linkedin.com/in/miguellucero/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=mlucero10) 💁 | [\u003cimg src=\"https://avatars.githubusercontent.com/neoword?s=100\" width=\"100\" alt=\"René X Parra\" /\u003e\u003cbr /\u003e\u003csub\u003eRené X Parra\u003c/sub\u003e](https://www.linkedin.com/in/reneparra/)\u003cbr /\u003e[💻](git@github.com:expediagroup/stream-registry/commits?author=neoword) [📖](git@github.com:expediagroup/stream-registry/commits?author=neoword) 📝 📢 🎨 👀 |\n| :---: | :---: | :---: | :---: |\n\u003c!-- Contributors table END --\u003e\nThis project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification.\n\n## Legal\nThis project is available under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0.html).\n\nCopyright 2018-2019 Expedia, Inc.\n","funding_links":[],"categories":["大数据","Operations"],"sub_categories":["Schema Management"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExpediaGroup%2Fstream-registry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FExpediaGroup%2Fstream-registry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FExpediaGroup%2Fstream-registry/lists"}