{"id":13757674,"url":"https://github.com/jackluo2012/datacenter","last_synced_at":"2026-01-16T22:28:27.167Z","repository":{"id":38263352,"uuid":"322167944","full_name":"jackluo2012/datacenter","owner":"jackluo2012","description":"数据中台系统，基于go-zero框架","archived":false,"fork":false,"pushed_at":"2022-09-07T08:18:23.000Z","size":407,"stargazers_count":703,"open_issues_count":4,"forks_count":192,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-05-10T05:34:12.819Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackluo2012.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-17T03:22:20.000Z","updated_at":"2025-05-07T09:44:25.000Z","dependencies_parsed_at":"2022-07-14T08:08:50.198Z","dependency_job_id":null,"html_url":"https://github.com/jackluo2012/datacenter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jackluo2012/datacenter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackluo2012%2Fdatacenter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackluo2012%2Fdatacenter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackluo2012%2Fdatacenter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackluo2012%2Fdatacenter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackluo2012","download_url":"https://codeload.github.com/jackluo2012/datacenter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackluo2012%2Fdatacenter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28485330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"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":[],"created_at":"2024-08-03T12:00:44.595Z","updated_at":"2026-01-16T22:28:27.102Z","avatar_url":"https://github.com/jackluo2012.png","language":"Go","funding_links":[],"categories":["Libraries that use [go-zero](https://github.com/tal-tech/go-zero)"],"sub_categories":[],"readme":"# 基于go-zero 框架写的一个数据中台中心\n\n### 详细介绍 [我是如何用go-zero实现一个中台系统的](https://www.cnblogs.com/jackluo/p/14148518.html)\n\n## 架构图\n![中台系统](https://img2020.cnblogs.com/blog/203395/202012/203395-20201217094615171-335437652.jpg \"中台架构\")\n\n### 已完成的功能列表\n- [x] 微信公众号登陆\n- [x] 七牛上传获取token\n- [x] 投票\n    - [x] 报名\n    - [x] 报名列表\n    - [x] 投票\n- [x] 抽奖问答\n    - [x] 活动信息\n    - [x] 问答列表\n    - [x] 提交答案 \n    - [x] 获取得分 \n    - [x] 抽奖\n    - [x] 填写中奖人信息    \n- [x] 搜索\n    - [x] 基于elasticsearch\n\n### 未完成的        \n- [ ] 微信支付宝登陆\n- [ ] 微信支付宝支付\n\n## 如何运行\n\n### 先启动mysql redis etcd 服务\n```shell\nsh server.sh\n```\n### 输出如下 就显示 成功了\n``` \nmysql\nmysql\n8d5d4b381ab7abe8947f532422255cd172f214ab4a6b0533da1619259e1cc4a5\nredis\nredis\nStart Redis Service...\n1fc187a9d82f0942dd60cac76c723a5bc531e1b67424384d04e7a69dad1362f0\netcd\netcd\n98f88d81e1e218d4d53c608e5a68cd70254df221bdb34c9beab37a7473971ba0\nes\nes\n04b37b58f10411fa8ab5894c917266cc7bc7f9a96988908fff9b3734e6259ad4\n```\n### 需要注意的是 elasticsearch 第一次用的时候，需要初始化密码 执行下面的操作\n```bash\n➜ ~ docker exec -it es /bin/bash\n[root@04b37b58f104 elasticsearch]# sh /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto\nInitiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.\nThe passwords will be randomly generated and printed to the console.\nPlease confirm that you would like to continue [y/N]y\n\n\nChanged password for user apm_system\nPASSWORD apm_system = iKVpVyFFTC8qEXvJILi2\n\nChanged password for user kibana\nPASSWORD kibana = DnDgQRRgkuyV8YqTrxbk\n\nChanged password for user logstash_system\nPASSWORD logstash_system = aqjVEdMsG7P2CXm9sQNk\n\nChanged password for user beats_system\nPASSWORD beats_system = Oleo1gQhli6tGaWuHz96\n\nChanged password for user remote_monitoring_user\nPASSWORD remote_monitoring_user = rX9CsBLM2c3ow9sH6Iud\n\nChanged password for user elastic\nPASSWORD elastic = yi4cxxdiz86pRKOoTAcm\n```\n### 看到上面最后行 \n```\nChanged password for user elastic\nPASSWORD elastic = yi4cxxdiz86pRKOoTAcm\n```\n### 得到elastic 的帐号: elastic ,密码: yi4cxxdiz86pRKOoTAcm 将这个填入search/rpc/search.yaml 文件中\n\n\n    接着导入 sql.sql到 mysql数据中 ,如果有工具自行导入,下面仅参考\n```\nmysql -uroot -padmin\nmysql \u003e set name utf8\nmysql \u003e create databse datacenter\nmysql \u003e use datacenter\nmysql \u003e source sql.sql\n```\n### 然后分别把配置文件 ,文件下面分别对应了一个rpc.example.yaml的文件，复制，基本就没有问题\n\n```\nvi etc/datacenter-api.yaml #网关配置\nvi user/rpc/etc/rpc.yaml #用户信息配置\nvi common/rpc/etc/rpc.yaml #公共配置\nvi votes/rpc/etc/rpc.yaml #投票配置\nvi search/rpc/etc/search.yaml #搜索配置\nvi questions/rpc/etc/questions.yaml #抽奖配置\n```\n### 然后启动 服务 ,应该我们要启动\n```\nsh restart.sh\n```\n### 输出如下\n```\n➜  datacenter.bak git:(master) ✗ sh restart.sh              \nappending output to nohup.out\nappending output to nohup.out\nappending output to nohup.out\nappending output to nohup.out \nappending output to nohup.out \nappending output to nohup.out    \n```\n### 可以分别查看是否启动成功\n```\ntail -F nohup.out  #网关的服务\ntail -F user/rpc/nohup.out #用户的rpc服务\ntail -F common/rpc/nohup.out #公共的\ntail -F votes/rpc/nohup.out #投票的\ntail -F search/rpc/nohup.out #搜索的\ntail -F questions/rpc/nohup.out #问答抽奖\n```\n\n### 在postman 导入数据 数据中台中心.postman_collection.json  就可以很愉快的玩耍了","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackluo2012%2Fdatacenter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackluo2012%2Fdatacenter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackluo2012%2Fdatacenter/lists"}