Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Microservices implementation guide in Go at Mer...

Microservices implementation guide in Go at Mercari Inc

Talk slide about microservices implementation guide in Go at Mercari Inc. (Japanese)
@Go Conference 2018 Autumn Sponser Session (Mercari Inc) .

Hidetatsu Yaginuma

November 25, 2018
Tweet

Other Decks in Programming

Transcript

  1. テンプレートプロジェクトについて 基本的な機能 ミドルウェア grpc-echosystem/go_grpc_middleware の Server Chain(Interceptors) の仕組みを使用している WithUnaryServerChain() には複数のintercepterを登録でき

    る WithUnaryServerChain(A(), B(), C()) と実行すること で、 A -> B -> C -> endpoint -> C -> B -> A と呼び 出される ここでDatadog、SentryなどのMiddlewareを登録している
  2. opts := []grpc.ServerOption{ grpc_middleware.WithUnaryServerChain( // Logger grpc_zap.UnaryServerInterceptor( config.Logger ), //

    Datadog grpc_dd.UnaryServerInterceptor( grpc_dd.WithServiceName(config.DDServiceName) ), // 認証、Sentry 、Recover など ), grpc_middleware.WithStreamServerChain( grpc_zap.StreamServerInterceptor(config.Logger), ), } return newServer(echoService, config.Logger, opts...)