- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
微服务介绍
展开查看详情
1 . There is no such thing as a microservice! Chris Richardson Founder of Eventuate.io Founder of the original CloudFoundry.com Author of POJOs in Action @crichardson chris@chrisrichardson.net http://microservices.io http://eventuate.io http://plainoldobjects.com Copyright © 2017. Chris Richardson Consulting, Inc. All rights reserved @crichardson
2 .Presentation goal Define the Microservice Architecture as an architectural style Explain what that means and why it matters @crichardson
3 .About Chris @crichardson
4 .About Chris Consultant and trainer focusing on modern application architectures including microservices (http://www.chrisrichardson.net/) @crichardson
5 .About Chris Founder of a startup that is creating an open-source/SaaS platform that simplifies the development of transactional microservices (http://eventuate.io) @crichardson
6 .About Chris 40% off ctwcodefreeze18 http://learnmicroservices.io @crichardson
7 .Agenda A brief refresher on software architecture From monolith to microservices Microservices != silver bullet Applying the microservice pattern language @crichardson
8 . About software architecture “The software architecture of a computing system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both.” Documenting Software Architectures, Bass et al
9 . Architecture = (elements, relations, properties) @crichardson
10 . Architecture = Boxes and lines 😄 @crichardson
11 . Architecture is multi-dimensional e.g. Structural, electrical, plumbing, mechanical Described by multiple views View = (elements, relations, properties) @crichardson
12 .4+1 view model Logical Implementation View View Scenarios Process Deployment View View
13 . 4+1 Logical view Logical Implementation Elements: classes and packages View View Relations: inheritance, associations, … Scenarios Process Deployment View View
14 . 4+1 Implementation view Logical Implementation Elements: modules and components View View Relations: dependencies Scenarios Process Deployment View View
15 . 4+1 Process view Logical Implementation View View Scenarios Elements: processes Process Deployment Relations: IPC View View
16 . 4+1 Deployment view Logical Implementation View View Scenarios Elements: “machines” Process Deployment Relations: networking View View
17 .4+1 Scenarios Logical Implementation View View Derived from use cases/stories Scenarios Process Deployment Animate the views View View
18 . ""… An architectural style determines the vocabulary of components and connectors that can be used in instances of that style, together with a set of constraints on how they can be combined….. ”” David Garlan and Mary Shaw, An Introduction to Software Architecture @crichardson
19 . Layered architectural style Layer N Well defined responsibilities Uses Uses Layer N - 1 Constrained Uses Uses dependencies Layer N - 2 @crichardson
20 .The role of architecture Domain Requirements knowledge = Functional requirements + Non-functional requirements (-ilities) Architecture
21 .Important -ilities Maintainability Development Testability velocity Deployability Evolvability Scalability Sunday afternoon 😀 Security Reliability … https://en.wikipedia.org/wiki/Non-functional_requirement
22 .Businesses must innovate faster Build better software faster @crichardson
23 .Reducing lead time Increasing deployment frequency @crichardson
24 .Modern software development: moving fast and not breaking things! 46x 440x Netflix: 16 minutes 24x 5x lower Amazon: ~0.001% @crichardson
25 .Modern software development Process: DevOps/Continuous delivery/deployment Organization: Architecture: Small, autonomous ??? teams @crichardson
26 .Agenda A brief refresher on software architecture From monolith to microservices Microservices != silver bullet Applying the microservice pattern language
27 . Traditional: Monolithic architecture WAR/EAR StoreFrontUI HTML Catalog REST/JSON Browser/ Management MySQL Client Database Recommendation Management Review Management Order Management Tomcat/App. Server Logical view Implementation view @crichardson
28 . The monolithic architecture is an architectural style that structures the application as a single executable component Implementation view @crichardson
29 .-ilities of small monoliths 😄 Maintainability Testability Deployability … https://en.wikipedia.org/wiki/Non-functional_requirement