为什么要用微服务
未来市场对产品的需求
- shorter delivery times
产品发布周期(TTM)更短 - volatile markets
适应市场的剧烈变化 - 24/7 service
7x24小时的服务 - shorter product life cycles
更短的产品生命周期 - more individualized customer wishes
更多的定制化服务
应用向CloudNative演进,微服务是CloudNative的事实标准
什么是微服务
什么是微服务?
微服务是一个软件架构形式。在这个架构中,复杂的应用程序是由多个小而独立的进程组成,每一个
进程通过独立于语言的接口进行相互交流。这些服务较小、高度解耦且专注于完成一个小任务,使得
用模块化方法建设系统更加容易。
微服务的特点:
• 每个服务都很简单,只关注于一个业务功能。
• 每个微服务可以由不同的团队独立开发。
• 微服务是松散耦合的。
• 微服务可以通过不同的编程语言与工具进行开发。
开发模式从传统的单体模型转变为微服务模型
微服务架构的特性--Martin Fowler
微服务的优缺点
微服务和SOA有什么不同?
**微服务实践:**是从更加强调分布式和scalability的互联网场景下演化出来的更加敏捷,去中心化的服务框架。 另外 SOA本身也在演进,所以微服务和SOA之间一条清晰的界限是没有的。所以这里只比较传统(最早由IBM,BEA等公司实现的)的SOA和微服务框架之间的区别。
**微服务关键词:**高内聚低耦合,敏捷,去中心化,自动化。
微服务和SOA有什么不同?
微服务实施要点
微服务架构介绍
一个典型的微服务逻辑架构
基于K8S容器集群的微服务架构
亚马逊的服务化架构
微服务架构核心组件(简化模型)
微服务架构核心组件介绍
传统LB方案:集中式LB
Eureka客户端分布式LB方案:进程内LB
Kubernetes分布式LB方案:主机独立LB进程
服务限流与容错
断路器(CircuitBreaker)设计模式
断路器设计模式–状态机控制
服务网关
服务网关架构及其主要功能
服务统一配置管理—堆拉模式
微服务框架实践
微服务开发模式总体方案
基于微服务架构的持续规划、并行流水线开发和持续发布
选择合适的工具链
华为软件开发云
微服务化架构判断标准
本文整理自一场分享