{"id":42550331,"url":"https://github.com/beckbikang/ho-java","last_synced_at":"2026-01-28T19:07:45.538Z","repository":{"id":83436614,"uuid":"545914244","full_name":"beckbikang/ho-java","owner":"beckbikang","description":"accept memcache protocol data save it to kafka on netty","archived":false,"fork":false,"pushed_at":"2024-07-20T14:34:24.000Z","size":57,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-07-20T15:50:11.739Z","etag":null,"topics":["memcached","netty"],"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/beckbikang.png","metadata":{"files":{"readme":"README.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":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-05T07:38:11.000Z","updated_at":"2024-07-20T14:34:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"8098ab23-02f6-4c01-bab4-28bed19aa3f6","html_url":"https://github.com/beckbikang/ho-java","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/beckbikang/ho-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beckbikang%2Fho-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beckbikang%2Fho-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beckbikang%2Fho-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beckbikang%2Fho-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beckbikang","download_url":"https://codeload.github.com/beckbikang/ho-java/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beckbikang%2Fho-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28849482,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"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":["memcached","netty"],"created_at":"2026-01-28T19:07:44.909Z","updated_at":"2026-01-28T19:07:45.531Z","avatar_url":"https://github.com/beckbikang.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ho-java overview\naccept memcache protocol data save it to kafka use netty\n\njust use set command,write to kafka easily\n\n# architecture\n\n\u003cimg width=\"611\" alt=\"image\" src=\"https://user-images.githubusercontent.com/7270440/196463451-7d158eeb-c49c-4a88-8406-efe43b533c51.png\"\u003e\n\n\n# the feature\n1. ✅write data to kafka by topic \n2. ✅registe server to consul\n3. ✅add prometheus monitor application\n4. add unittest\n\n\n\n\n\n# how to use server\n\n## 1 start Java server\n\n\u003cimg width=\"1197\" alt=\"image\" src=\"https://user-images.githubusercontent.com/7270440/196458902-826417c1-e919-4bdd-a8c9-d93e371995a8.png\"\u003e\n\n\n## 2 use test script\n\n```python\nimport memcache\nmc = memcache.Client(['127.0.0.1:11222'], debug=True)\n#mc = memcache.Client(['127.0.0.1:9090'], debug=True)\nprint(mc)\nret=mc.set(\"test_mc\", \"{\\\"a\\\":123}\")\nprint(ret)\n```\n## 3 listen kafka show result\n\njava server show this\n\n\u003cimg width=\"1194\" alt=\"image\" src=\"https://user-images.githubusercontent.com/7270440/196459764-830932cd-cf73-47e6-968b-8e3ad54f5a26.png\"\u003e\n\nother kafka client show this\n\n\u003cimg width=\"556\" alt=\"image\" src=\"https://user-images.githubusercontent.com/7270440/196459887-df3a6fad-ef77-45b2-8c8f-6c78a6427ef1.png\"\u003e\n\n# resgiste on consul\n\n## 1 run consul\n\nconsul agent -dev -ui=true -client 0.0.0.0 \u0026\n\nhttp://127.0.0.1:8500/ui/dc1/services\n\n## 2 add  config\n\n1. add spring-cloud library\n2. add config\n```\nspring.cloud.consul.host=localhost\nspring.cloud.consul.port=8500\nspring.cloud.consul.discovery.service-name=ho-java-producer\n```\n\n\u003cimg width=\"951\" alt=\"image\" src=\"https://user-images.githubusercontent.com/7270440/196719387-f2a69582-4a0c-4985-8a18-6f6c4be7795a.png\"\u003e\n\n\n# use prometheus\n\nhttp://127.0.0.1:21314/actuator/prometheus\n\n\n## run promethus\n              \n```\nglobal:\n  scrape_interval:     10s\n  evaluation_interval: 10s\nscrape_configs:\n  - job_name: 'spring'\n    metrics_path: '/actuator/prometheus'\n    static_configs:\n      - targets: ['127.0.0.1:21314']\n```\ndocker run  -d  -p 9090:9090  -v /tmp/px.yml:/etc/prometheus/prometheus.yml prom/prometheus\n\n## run grafana\n\ndocker run -d -p 3000:3000 --name=grafana -v /tmp/grafana:/var/lib/grafana  grafana/grafana\n\nhttp://127.0.0.1:3000/?orgId=1 访问","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeckbikang%2Fho-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeckbikang%2Fho-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeckbikang%2Fho-java/lists"}