第3页
•
• 4.7 • 4700w DAU •
第10页
API
第11页
In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.
These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
-- James Lewis and Martin Fowler
第12页
• own process • lightweight • built around business capabilities • independently deployable • automated deployment machinery
第13页
• Microservices
• • • • • • • •…
第14页
• SOA: • Microservices:
client
App
SOA
client
App
service
service
service
service
service
service
Microservices
第15页
•
• API • • •
•
• •
•
• •
-_-||| etc...
第16页
http://www.infoq.com/cn/news/2015/04/micro-service-architecture
第18页
http://martinfowler.com/microservices/
第20页
Python
Go C/C++
kafka
nsq
第21页
•
• 3 git ~200w+ • • •
•
第22页
1.0
• • •
• •
第23页
1.1
• •
•
•
• • • • •
第24页
•
• • • • • •
第25页
•
• • •
• • •
第26页
1. :
•
2.
• API
3.
•
hook Python import
•
Go
第27页
Site Logic
Module C Module B
Module A’ Module A
Logic A
Logic B
第28页
Module C Site
Module B
App A
Logic
Logic A
Logic B
API
Module A
Module A’
Wrapper A
Wrapper B Service A
第29页
Site Logic
Module C Module C
Module B Module B
Module A’pp A Module A
API
Module A
Logic WArapper A Logic B Logic B
Model B
Module A’
Logic A
Service A
第32页
2016-04
RPC
∞
第33页
•
•
•
•
•
• • • • • •…
第34页
•
• • • •
• • •: •
• • • •
(PaaS)
第36页
SLA
第37页
App name loader
第38页
logid IDL Thrift based RPC
caller
Code generation
service_rpc( python)
Kite (go)
Kitc(go)
第40页
Netflix Hystrix
第41页
VIP Client1
(WIP)
Service
第42页
VIP Client1
(WIP)
Service
第45页
Thanks