{"id":20749954,"url":"https://github.com/janrs-io/jgrpc","last_synced_at":"2025-04-28T12:52:38.168Z","repository":{"id":148924423,"uuid":"616824935","full_name":"janrs-io/Jgrpc","owner":"janrs-io","description":"Best practices for developing microservices based on Go/Grpc/kubernetes/Istio","archived":false,"fork":false,"pushed_at":"2023-06-01T03:59:24.000Z","size":128,"stargazers_count":52,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T09:41:26.645Z","etag":null,"topics":["go","grpc","istio","kubernetes","microservice"],"latest_commit_sha":null,"homepage":"https://github.com/janrs-io/Jgrpc","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/janrs-io.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":"2023-03-21T06:48:08.000Z","updated_at":"2025-02-11T01:56:11.000Z","dependencies_parsed_at":"2023-06-28T01:09:08.307Z","dependency_job_id":null,"html_url":"https://github.com/janrs-io/Jgrpc","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/janrs-io%2FJgrpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janrs-io%2FJgrpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janrs-io%2FJgrpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janrs-io%2FJgrpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janrs-io","download_url":"https://codeload.github.com/janrs-io/Jgrpc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251318702,"owners_count":21570418,"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":["go","grpc","istio","kubernetes","microservice"],"created_at":"2024-11-17T08:25:18.853Z","updated_at":"2025-04-28T12:52:38.105Z","avatar_url":"https://github.com/janrs-io.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jgrpc\n\n**如果觉得该项目对你的学习有帮助，点个 star**\n\n## 完整的案例代码直达\n\nhttps://github.com/janrs-io/Jgrpc-example\n\n## 中文文档地址\n\n###### [基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3](https://janrs.com/br6f \"基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3\")\n\n###### [基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3](https://janrs.com/ugj7 \"基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 2/3\")\n\n###### [基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3](https://janrs.com/6rdh \"基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 3/3\")\n\n## Usage\n\nThis project provides a reference for best practices for developing\nmicroservices based on `Go/Grpc/kubernetes/Istio`.\n\nAnd it implements `CICD` based on `Jenkins/Gitlab/Harbor`.\n\nAnd use the [grpc-gateway](https://github.com/grpc-ecosystem/grpc-gateway \"grpc-gateway\") as a gateway proxy.\n\nThis best practice is divided into three parts:\n\n1. [Create a microservice named `pongservice`](https://github.com/janrs-io/Jgrpc/blob/master/best-practices-for-developing-microservices-based-on-go-grpc-kubernetes-Istio-part01.md \"Create a microservice named `pongservice`\")\n2. [Create a microservice named `pingservice` and access `pongservice`](https://github.com/janrs-io/Jgrpc/blob/master/best-practices-for-developing-microservices-based-on-go-grpc-kubernetes-Istio-part02.md \"Create a microservice named `pingservice` and access `pongservice`\")\n3. [Create a `CICD` deployment process base on `Jenkins/Gitlab/Harbor`](https://github.com/janrs-io/Jgrpc/blob/master/best-practices-for-developing-microservices-based-on-go-grpc-kubernetes-Istio-part03.md \"Create a `CICD` deployment process base on `Jenkins/Gitlab/Harbor`\")\n\n# QuickStart\n\nJust clone the project and run `go run cmd/main.go` in the `pingservice` and `pongservice` directory.\n\nAnd enter this address in browser to visit `pong` http server:\n\n```text\nhttp://127.0.0.1:9001/pong.v1.pong?msg=best%20practice\n```\n\nIt will return `json` data:\n\n```json\n{\n    \"msg\": \"response pong msg:best practice\"\n}\n```\n\nAnd enter this address in browser to visit `pingservice` http server:\n\n```text\nhttp://127.0.0.1:9002/ping.v1.ping?msg=best%20practice\n```\n\nIt will return `json` data:\n\n```json\n{\n    \"msg\": \"response ping msg:best practice and msg from pong service is: response pong msg:request from ping service\"\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanrs-io%2Fjgrpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanrs-io%2Fjgrpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanrs-io%2Fjgrpc/lists"}