微服务的概念:
“微服务就是⼀些协同工作的⼩而⾃治的服务。”– Sam Newman
微服务的优点:
跨语言、存储可分离、
弹性好,一个组件不可用,不会导致级联故障
服务可以按需扩展
系统易于部署
与组织结构对齐
模块可组合性、可替代性
微服务的代价:
分布式系统的复杂性
开发、测试等诸多研发过程中的复杂性
部署、监控等诸多运维复杂性
云原生Cloud Native的概念
“云原⽣技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。”
– CNCF Cloud Native Definition v1.0
Cloud Native的要求
云原生Foucus创建和部署应用,它要求
- Devops 开发与运维一同致⼒于交付⾼高品质的软件服务于客户
- 持续交付 continuous delivery 软件的构建、测试和发布,要更快、更频繁、更稳定
- 微服务 Microservice 以一组⼩型服务的形式来部署应用
- 容器 containers 提供⽐传统虚拟机更高的效率