マイクロを使用して22.私たちのRPCサービスのためのHTTP APIゲートウェイを作成します

私たちの書かれたサービスの前に、ヘッダーを使用したポストマンツー・ポイントの呼び出しには、Content-typeは、次の図に送信されたアプリケーション/ JSON、JSONデータで設定します。JSONはJSONRPC指定し、指定したエンドポイントの呼び出し

スタートgrpcサーバー

package main

import (
    "github.com/micro/go-micro"
    "github.com/micro/go-micro/registry"
    "github.com/micro/go-micro/registry/etcd"
    "github.com/micro/go-plugins/registry/consul"
    "micro/Services"
    "micro/ServicesImpl"
)

func main() {
    consulReg := consul.NewRegistry(registry.Addrs("localhost:8500"))
    etcdReg := etcd.NewRegistry(registry.Addrs("106.12.72.181:23791"))
    myservice := micro.NewService(
        micro.Name("api.xiahualou.com.test"), //这里在namespace的基础上多加了一个test,在下面会讲解到这个.test的作用
        micro.Address(":8001"),
        micro.Registry(etcdReg),
        micro.Registry(consulReg),
    )
    Services.RegisterTestServiceHandler(myservice.Server(), new(ServicesImpl.TestService))
    myservice.Run()
}

ゲートウェイのサービス設定した後、あなただけのJSONデータを取得し、単純なHTTPリクエストを使用することができ、マイクロの新バージョンがサポート領事を持っていない、Baiduの特定のニーズを操作する方法をetcd

set MICRO_REGISTRY=consul #新版本micro工具已经不支持consul
set MICRO_REGISTRY_ADDRESS=106.12.72.181:23791
set MICRO_API_NAMESPACE=api.xiahualou.com #这里是命名空间 我们注册的sevice是api.xiahualou.com.test
set MICRO_API_HANDLER=rpc #支持api event http rpc
micro api # 启动网关

ゲートウェイ8080は、デフォルトゲートウェイは、アクセス・パスは、ここではlocalhostです:8080 /テスト/ TestService /コール、ゲートウェイは、要求を受信して​​、RPCサーバーに転送します





おすすめ

転載: www.cnblogs.com/hualou/p/12142284.html