{"id":22153034,"url":"https://github.com/anseres/anser","last_synced_at":"2025-07-05T19:31:59.566Z","repository":{"id":57554575,"uuid":"109547537","full_name":"anseres/anser","owner":"anseres","description":"一个用于辅助构建 RPC 框架、基础服务以及周边其他辅助组件（http-gateway, grpc-gateway, anser-config，anser-monitor等）","archived":false,"fork":false,"pushed_at":"2017-11-27T16:13:19.000Z","size":9606,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-20T19:18:30.001Z","etag":null,"topics":["anser","golang","grpc"],"latest_commit_sha":null,"homepage":"","language":"Go","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/anseres.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}},"created_at":"2017-11-05T03:05:29.000Z","updated_at":"2018-04-27T10:25:54.000Z","dependencies_parsed_at":"2022-09-26T18:51:23.230Z","dependency_job_id":null,"html_url":"https://github.com/anseres/anser","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anseres%2Fanser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anseres%2Fanser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anseres%2Fanser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anseres%2Fanser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anseres","download_url":"https://codeload.github.com/anseres/anser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227579763,"owners_count":17789135,"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":["anser","golang","grpc"],"created_at":"2024-12-02T01:16:19.807Z","updated_at":"2024-12-02T01:16:21.856Z","avatar_url":"https://github.com/anseres.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## anser ##\n[![Build Status](https://travis-ci.org/anseres/anser.svg?branch=develop)](https://travis-ci.org/anseres/anser) [![Go Report Card](https://goreportcard.com/badge/github.com/anseres/anser)](https://goreportcard.com/report/github.com/anseres/anser)  [![Documentation](https://godoc.org/github.com/anseres/anser?status.svg)](http://godoc.org/github.com/anseres/anser) [![Coverage Status](https://coveralls.io/repos/github/anseres/anser/badge.svg?branch=develop)](https://coveralls.io/github/anseres/anser?branch=develop) [![GitHub issues](https://img.shields.io/github/issues/anseres/anser.svg)](https://github.com/anseres/anser/issues) [![license](https://img.shields.io/github/license/anseres/anser.svg?maxAge=2592000)](https://github.com/anseres/anser/blob/develop/LICENSE) [![Release](https://img.shields.io/github/release/anseres/anser.svg?label=Release)](https://github.com/anseres/anser/releases)\n\nanser 雁属有迁徙的习性，迁飞距离也较远。它们喜**群居**，**飞行时成有序的队列，有一字形、人字形等。**\n\n\u003e摘自：[anser-维基百科](https://zh.wikipedia.org/wiki/雁属)\n\n## anser是什么 ##\n\n* 一个命令行工具，用于辅助基于微服务的server开发\n* 一个rpc框架，集成grpc以及其他相关辅助服务\n* 一组辅助组件，用于提供基础服务(http-gateway, grpc-gateway, anser-config，anser-monitor等)\n\n### anser client ###\n\n支持的命令有：\n* setup: 安装开发用的k8s以及anser使用的辅助容器\n* init-service: 生成基础的服务框架\n\n### anser服务框架 ###\n\n* 基于gRPC\n* 集成gops\n* 服务发现\n* promethes监控\n* jaeger跟踪？\n* 分布式log(ELK?)\n* envoy（service mesh）\n\n#### anser服务目录结构 ####\n\n```\n  root |-- [service_name].proto\n       |-- [service_name]_client.go\n       |-- Makefile\n       |-- service/\n                    |-- main.go\n                    |-- [service_name].go\n                    |-- ...\n\n```\n\n将client放在服务顶层是为了方便其他模块使用，可以 \n\n```\n\nimport (\n    \".../service1\"\n    \".../service2\"\n)\n\n```\n\n而不是\n\n```\nimport (\n    service1 \".../service1/client\"\n    service2 \".../service2/client\"\n)\n\n```\n\n### anser组件 ###\n\n* anser-config: anser配置，有哪些服务？服务有哪些接口？依赖关系？ 服务状态？\n* http-gateway: 对外提供http访问接口\n* grpc-gateway: 对外提供grpc访问接口\n* anser-dashboard: 查询集群、服务和接口的状态","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanseres%2Fanser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanseres%2Fanser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanseres%2Fanser/lists"}