{"title":"HTTP/gRPC\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u306a\u30a2\u30d7\u30ea","blog_title":"t.marcus\u306e\u5916\u90e8\u8a18\u61b6\u88c5\u7f6e","published":"2022-09-07 10:14:07","image_url":null,"type":"rich","height":"190","description":"gRPC\u306fHTTP/1.1\u3067\u53d7\u3051\u308c\u306a\u3044\u306e\u3067HTTP/2\u3068\u3057\u3066\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u3066\u3084\u3063\u3066\u3001HTTP/2\u304b\u3064application/grpc\u306e\u5834\u5408\u306bgrpc\u5074\u3067\u51e6\u7406\u3057\u3066\u3084\u308b\u3088\u3046\u306b\u3059\u308c\u3070OK addr := \":8080\" if v, ok := os.LookupEnv(\"BIND\"); ok { addr = v } grpcServer = grpc.NewServer() reflection.Register(grpcServer) mux := http.NewServeMux() mux.Handle(\"/live\", http.HandlerFunc(func(w\u2026","provider_name":"Hatena Blog","categories":[],"width":"100%","provider_url":"https://hatena.blog","author_name":"t_marcus87","author_url":"https://blog.hatena.ne.jp/t_marcus87/","version":"1.0","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftmarcus.hatenablog.com%2Fentry%2F2022%2F09%2F07%2F101407\" title=\"HTTP/gRPC\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u306a\u30a2\u30d7\u30ea - t.marcus\u306e\u5916\u90e8\u8a18\u61b6\u88c5\u7f6e\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://tmarcus.hatenablog.com/entry/2022/09/07/101407","blog_url":"https://tmarcus.hatenablog.com/"}