{"id":48680721,"url":"https://github.com/dhslrl321/zsmq","last_synced_at":"2026-04-26T20:00:42.473Z","repository":{"id":58841517,"uuid":"530887817","full_name":"dhslrl321/zsmq","owner":"dhslrl321","description":"📨 Zola (Extremely) Simple Message Queue for spring, It is the simplest Message Queue you've ever experienced.","archived":false,"fork":false,"pushed_at":"2022-11-14T14:55:12.000Z","size":735,"stargazers_count":43,"open_issues_count":6,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-03-07T15:37:29.944Z","etag":null,"topics":["docker","message-queue","message-queue-server","messaging"],"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/dhslrl321.png","metadata":{"files":{"readme":"README-kor.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}},"created_at":"2022-08-31T01:05:44.000Z","updated_at":"2023-01-28T04:06:34.000Z","dependencies_parsed_at":"2023-01-22T04:05:26.214Z","dependency_job_id":null,"html_url":"https://github.com/dhslrl321/zsmq","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/dhslrl321/zsmq","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslrl321%2Fzsmq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslrl321%2Fzsmq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslrl321%2Fzsmq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslrl321%2Fzsmq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhslrl321","download_url":"https://codeload.github.com/dhslrl321/zsmq/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhslrl321%2Fzsmq/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32310804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","message-queue","message-queue-server","messaging"],"created_at":"2026-04-11T01:00:36.059Z","updated_at":"2026-04-26T20:00:42.467Z","avatar_url":"https://github.com/dhslrl321.png","language":"Java","funding_links":[],"categories":["进程间通信"],"sub_categories":["Spring Cloud框架"],"readme":"### 당신이 경험한 Message Queue 중에 가장 단순한 Message Queue\n\n\u003cdiv align=\"center\"\u003e\n\n#### [home (engish version)](https://github.com/dhslrl321/zsmq)\n\n#### [korean version docs](https://github.com/dhslrl321/zsmq/blob/main/README-kor.md)\n\n\u003ca href=\"https://github.com/dhslrl321/zsmq/wiki/Getting-Started-(5min)---korean-ver\"\u003e📗Getting Started\u003c/a\u003e || \u003ca href=\"https://github.com/dhslrl321/zsmq/wiki/ZSMQ's-Architecture\"\u003eOverview\u003c/a\u003e || \u003ca href=\"https://github.com/dhslrl321/zsmq/wiki/Docs-(kor-ver)\"\u003eDocs\u003c/a\u003e || \u003ca href=\"https://github.com/dhslrl321/zsmq/wiki/Change-Log\"\u003eChange Log\u003c/a\u003e\n\n\u003c/div\u003e\n\n# ZSMQ\n\nZSMQ 는 java 로 개발된 **졸라 간단한 메시지 큐, Zola Simple Message Queue** 입니다.\n\n\u003e 'zola' is a korean slang. It means 'utterly', 'extremely', 'super', 'very'\n\nZSMQ 는 운영 환경이 아닌 다양한 곳 (PoC 혹은 특정 분야의 학습) 에서 사용될 수 있습니다.\n\n성능은 중요하지 않지만 아주 간단한 메시지 큐가 필요할 때 zsmq 는 최고의 선택입니다.\n\n### ZSMQ 의 목표는 다음과 같습니다.\n\n- **단순함**\n- **쉬움**\n- **직관적인 설정 및 사용**\n- **당신이 message queue 이외에 것들에 집중하는 것을** \n\n# Quick Start\n\nZSMQ 는 빠르고 쉽게 사용할 수 있는 시스템이기 때문에 최소한의 설정을 목표로 합니다.\n\n\u003e 자세한 설정들을 확인하시려면 [example](https://github.com/dhslrl321/zsmq-example) 을 확인하세요. zsmq 를 이용한 간단한 예제가 존재합니다.\n\n아래의 4가지 단계만 거치면 쉽게 메시지 큐 서버 하나를 사용할 수 있습니다.\n\n1. messaging server 와 dashboard 실행\n2. gradle 의존성 추가\n3. configure property\n4. 걍 쓰세요!\n\n## 1. messaging server 와 dashboard 실행\n\nzsmq 는 두가지 컴포넌트를 제공합니다.\n\n아래의 두가지 컴포넌트가 모두 실행되어야 합니다.\n\n1. 메시징 서버\n2. 서버 대시보드\n\n\u003e 자세한 사항은 [wiki 의 zsmq 의 architecture](https://github.com/dhslrl321/zsmq/wiki/ZSMQ's-Architecture) 에서 확인할 수 있습니다.\n\n메시지 서버는 message queue 를 관리합니다. message 를 publish 하고 subscribe 하는 대상이 messaging server 입니다.\n\ndashboard 는 messaging server 에 대한 view 를 제공합니다. 메시지 큐를 확인하고 메시지 큐를 생성/삭제합니다.\n\n```shell\ndocker run --rm -d -p 8290:3000 dhslrl321/zsmq:dashboard.1.0.1\ndocker run --rm -d -p 8291:8291 dhslrl321/zsmq:server.1.0.0\n```\n\n\u003e 만약 포트를 변경해야 하는 일이 생긴다면 issue 에 추가해주세요\n\n## 2. gradle 의존성 추가\n\nzsmq 를 사용하기 위해서는 2가지 의존성이 필요합니다.\n\n1. zola-messaging-core\n2. zola-messaging-spring-sdk\n\nspring 에서 사용할 때는 위의 의존성들을 직접 추가하여 bean 으로 등록할 수 있습니다.\n\n#### 하지만 ZSMQ 는 위와 같은 복잡한 설정 과정을 생략하고 쉽게 세팅할 수 있도록 spring-boot-starter 를 제공합니다.\n\n의존성은 [jitpack](https://jitpack.io/#dhslrl321/zsmq) repository 에서 다운받을 수 있습니다.\n\n다음 블록을 `build.gradle` 에 추가하세요.\n\n```groovy\nrepositories {\n    // ... other maven repository\n    maven { url 'https://jitpack.io' }\n}\n\ndependencies {\n    implementation 'com.github.dhslrl321.zsmq:zola-messaging-sprint-boot-starter:1.0.0'\n}\n```\n\n수동으로 설정하는 방법을 포함하여 더욱 많은 정보를 얻기 위해서는 [reference guide](https://github.com/dhslrl321/zsmq/wiki/Reference-Guide) 을 확인하세요.\n\n## 3. configure property\n\n마지막으로 메시징 서버에 대한 정보를 `application.property` 혹은 `application.yml` 에 추가해야 합니다.\n\n```yaml\nzsmq:\n  url: http://localhost:8291\n  listening: false\n```\n\n- `zsmq.url` : 메시지 큐를 관리하는 메시징 서버 주소입니다.\n- `zsmq.listening` : 리스닝 스레드를 자동으로 등록할지 말지 결정합니다\n  - 리스너 스레드는 consuming 할 때 사용됩니다.\n\n## 4. 걍 쓰세요!\n\n이제 모든 설정은 끝났습니다.\n\n그냥 사용하세요!\n\n#### 1. dashboard 에 들어가서 큐를 하나 생성하세요. 설정을 제대로 마쳤다면 `localhost:8290` 로 들어가면 됩니다.\n\n\u003cimg width=\"1432\" alt=\"image\" src=\"https://user-images.githubusercontent.com/48385288/193419660-c2eff6c0-470a-4602-8b26-18bfda08b18c.png\"\u003e\n\n\u003cimg width=\"1432\" alt=\"image\" src=\"https://user-images.githubusercontent.com/48385288/193419674-e033cb1a-8594-46ca-a020-7a11ce534c1c.png\"\u003e\n\n#### 2. 애플리케이션을 개발하세요\n\n- 만약 **메시지를 publish** 하고싶다면 `ZolaQueueMessagingTemplate` 를 사용하면 됩니다.\n- 만약 **메시지를 consume** 하고싶다면 `@ZolaConsumer` 와 `@ZolaMessageListener` 어노테이션을 사용하면 됩니다.\n\n```java\n@RequiredArgsConstructor\npublic class MessageProducer {\n\n    private final ZolaQueueMessageTemplate template;\n\n    public void send() {\n        template.convertAndSend(\"MY-QUEUE\", \"foo\");\n    }\n}\n```\n\n### consume message\n\nmessage 를 consume 할 때는 `zsmq.listening` 속성이 true 여야 합니다.\n\n```java\n@Component\n@ZolaConsumer\npublic class MyConsumer {\n\n    @ZolaMessageListener(queueName = \"MY-QUEUE\", deletionPolicy = DeletionPolicy.ALWAYS)\n    public void listen(String message) {\n        System.out.println(\"message = \" + message);\n    }\n}\n```\n\n\u003e 자세한 설정들을 확인하시려면 [example](https://github.com/dhslrl321/zsmq-example) 을 확인하세요. zsmq 를 이용한 간단한 예제가 존재합니다.\n\n# Motivation\n\n어느날, 어떤 학습을 하기 위해서 메시지 큐 하나가 필요했던 적이 있습니다.\n\n그 학습에는 메시지 큐에 대한 지식이 깊게 필요하지 않았지만 학습을 이어가기 위해서는 메시지 큐가 꼭 필요했었습니다.\n\n그리고 저는 메시지 큐를 설정하고 생성 및 사용하는데에 아주 많은 시간을 사용했습니다.\n\n그래서 저는 낮은 성능일지라도 매우 쉽고 빠르게 설정하고 생성할 수 있는 큐를 만들자는 결심을 하였고 이것이 바로 zsmq 의 시작입니다.\n\n\u003e 'zola' is a korean slang. It means 'utterly', 'extremely', 'super', 'very'\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhslrl321%2Fzsmq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhslrl321%2Fzsmq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhslrl321%2Fzsmq/lists"}