go & microservices
TRANSCRIPT
Go & Microservices
About me?
Agenda
Concept
Monolith
MicroServices
Focus
FEATURES
Communications
Example
Why Go?
Golang
Golang - Goroutine & Channel
Real Case Study
delivery service
Features
User mengirimkan request via mobile app untuk memesan barang, kemudian mendapatkan dua notifikasi yaitu via push notifikasi & sms.
Architecture
Focus: Notif Service
HOW?
Golang’s Interface
Notify Runner
Notify Result
Notify Concurrent ?
Notify Result : Using Goroutine
Microservices Rules
Golang’s Error Handling
Deployment & Docker
Deployment Rules
Docker Rules
DockerFile
Metric Analysis
Calculate
Data Flow
The Roundtrip
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>
Example - Service <-> AMQP
ServiceID PulledFromAMQP Processed PostedToAMQP
DeliveryService <in_millisecond> <in_millisecond> <in_millisecond>
NotifService <in_millisecond> <in_millisecond> <in_millisecond>
Example - Service -> ThirdParty
ThirdParty Latency
Parse <in_millisecond>
Twilio <in_millisecond>