go & microservices

37
Go & Microservices

Upload: hiraq-citra-m

Post on 14-Apr-2017

1.116 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Go & microservices

Go & Microservices

Page 3: Go & microservices

Agenda

Page 4: Go & microservices

Concept

Page 5: Go & microservices

Monolith

Page 6: Go & microservices

MicroServices

Page 7: Go & microservices

Focus

FEATURES

Page 8: Go & microservices

Communications

Page 10: Go & microservices

Why Go?

Page 11: Go & microservices

Golang

Page 15: Go & microservices

Real Case Study

delivery service

Page 16: Go & microservices

Features

User mengirimkan request via mobile app untuk memesan barang, kemudian mendapatkan dua notifikasi yaitu via push notifikasi & sms.

Page 17: Go & microservices

Architecture

Page 18: Go & microservices

Focus: Notif Service

HOW?

Page 19: Go & microservices

Golang’s Interface

Page 21: Go & microservices

Notify Runner

Page 22: Go & microservices

Notify Result

Page 23: Go & microservices

Notify Concurrent ?

Page 24: Go & microservices

Notify Result : Using Goroutine

Page 25: Go & microservices

Microservices Rules

Page 26: Go & microservices

Golang’s Error Handling

Page 27: Go & microservices

Deployment & Docker

Page 28: Go & microservices

Deployment Rules

Page 29: Go & microservices

Docker Rules

Page 30: Go & microservices

DockerFile

Page 31: Go & microservices

Metric Analysis

Page 32: Go & microservices

Calculate

Page 33: Go & microservices

Data Flow

The Roundtrip

Page 34: Go & microservices

Example: Client -> Proxy -> AMQP

TransactionID Received By Web Proxy API Publish To AMQP

TransactionID-<UUID> <in_millisecond> <in_millisecond>

TransactionID-<UUID> <in_millisecond> <in_millisecond>

Page 35: Go & microservices

Example - Service <-> AMQP

ServiceID PulledFromAMQP Processed PostedToAMQP

DeliveryService <in_millisecond> <in_millisecond> <in_millisecond>

NotifService <in_millisecond> <in_millisecond> <in_millisecond>

Page 36: Go & microservices

Example - Service -> ThirdParty

ThirdParty Latency

Parse <in_millisecond>

Twilio <in_millisecond>

Page 37: Go & microservices