ElastiCache • RDS DNS-RR, NGINX, OpenResty Internal DNS (BIND), Consul memcached on EC2 MySQL on EC2 ngx_dynamic_upstreamʹΑΔແఀࢭɾߴdeploy ಥൃతͳΞΫηεੑɾઃఆөվળ OS/Kernel tuningʹΑΔScalability্ όοΫΞοϓखॱͷඪ४ԽɾRolling Schema Upgrade
• Clientͷมߋͳ͘Protocolجຊҡ࣋ • Golangͷnet/httpΛ༻ͭͭ͠ɺ DNS cacheɺRequest bufferingͳͲͷՃ API Gateway JSON over HTTPs JSON over HTTPs ProtoBuf over HTTPs ServiceA ServiceC ServiceB gRPC
googleͳͲͷڠྗɾOSSԽ • Deploy pipelineͷఆٛɾࣗಈ࣮ߦ • Continuous Delivery for Microservices with Spinnaker at Mercari https://speakerdeck.com/tcnksm/continuous-delivery-for-microservices-with-spinnaker-at-mercari
App App Chocon Consul check & register service *.ccnproxy-https IN CNAME production.chocon.service.dc.consul. $ curl http://example.jp.ccnproxy-https/v1/foo DNS Consulͱ෦DNSΛΈ߹Θͤͯར༻͘͢͠ ੑͷ࣮ݱ https://example.jp/v1/foo