{"id":23143370,"url":"https://github.com/xieyuheng/zeromq-messaging-patterns","last_synced_at":"2025-04-04T12:14:03.859Z","repository":{"id":267080488,"uuid":"611654504","full_name":"xieyuheng/zeromq-messaging-patterns","owner":"xieyuheng","description":"ZeroMQ messaging patterns","archived":false,"fork":false,"pushed_at":"2025-03-23T11:13:11.000Z","size":93,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-23T12:20:41.355Z","etag":null,"topics":["messaging","messaging-patterns","zeromq","zmq"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xieyuheng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2023-03-09T09:16:51.000Z","updated_at":"2025-03-23T11:13:14.000Z","dependencies_parsed_at":"2024-12-08T07:43:05.333Z","dependency_job_id":"4d8e716d-3ad4-44d1-b44e-46cb7ddd5470","html_url":"https://github.com/xieyuheng/zeromq-messaging-patterns","commit_stats":null,"previous_names":["xieyuheng/zeromq-messaging-patterns"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieyuheng%2Fzeromq-messaging-patterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieyuheng%2Fzeromq-messaging-patterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieyuheng%2Fzeromq-messaging-patterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xieyuheng%2Fzeromq-messaging-patterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xieyuheng","download_url":"https://codeload.github.com/xieyuheng/zeromq-messaging-patterns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247174467,"owners_count":20896078,"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":["messaging","messaging-patterns","zeromq","zmq"],"created_at":"2024-12-17T15:13:15.460Z","updated_at":"2025-04-04T12:14:03.838Z","avatar_url":"https://github.com/xieyuheng.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZeroMQ messaging patterns\n\n\u003e ZeroMQ is a really beautiful hammer, \u003c/br\u003e\n\u003e you should take it with you \u003c/br\u003e\n\u003e and find nails. \u003c/br\u003e\n\u003e\n\u003e -- Someone on the internet.\n\nI know about ZMQ years ago.\n\nI admire [Pieter Hintjens](https://en.wikipedia.org/wiki/Pieter_Hintjens), I read many of his books, and watched all his talks I can find the internet. He was such a great leader!\n\nBut I never had a project about messaging, in which I can use ZMQ.\n\nUntil I want to write a _subdoman-based http reverse proxy_ (like [ngrok](https://ngrok.com)).\n\nI implemented it by pure TCP and socket API,\na lot of features aboud reliability need to be implemented.\n\nThen I went back to ZMQ docs again, and found that\nthe _subdoman-based http reverse proxy_ I want to implement\nis exactly the **[majordemo](https://zguide.zeromq.org/docs/chapter4/#Service-Oriented-Reliable-Queuing-Majordomo-Pattern)** of ZMQ's zguide.\n\nI finally found the perfact nail!\n\n## Development\n\n```sh\nnpm install           # Install dependencies\nnpm run build         # Compile `src/` to `lib/`\nnpm run build:watch   # Watch the compilation\nnpm run format        # Format the code\n```\n\n## Contributions\n\nTo make a contribution, fork this project and create a pull request.\n\nPlease read the [STYLE-GUIDE.md](STYLE-GUIDE.md) before you change the code.\n\nRemember to add yourself to [AUTHORS](AUTHORS).\nYour line belongs to you, you can write a little\nintroduction to yourself but not too long.\n\nIt is assumed that all non draft PRs are ready to be merged.\nIf your PR is not ready to be merged yet, please make it a draft PR:\n\n- [Creating draft PR](https://github.blog/2019-02-14-introducing-draft-pull-requests)\n- [Changing a PR to draft](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request)\n\nDuring the development of your PR, you can make use of\nthe [TODO.md](TODO.md) file to record ideas temporarily,\nand this file should be clean again at the end of your development.\n\n## License\n\n[GPLv3](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxieyuheng%2Fzeromq-messaging-patterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxieyuheng%2Fzeromq-messaging-patterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxieyuheng%2Fzeromq-messaging-patterns/lists"}