1.API网关
负载均衡+API网关,负责统一的认证和鉴权、暴露必须的对外接口,A/B测试、蓝绿发布、预发环境导流
2.无状态化
区分有状态和无状态的应用,影响应用的迁移和横向扩展的重要因素就是应用的状态,无状态服务,是要把这个状态往外移,将session数据,文件数据,结构化数据保存在后端统一的存储中,从而应用仅仅包含商务逻辑。状态,例如zookeeper、DB、Cache等,把这些所有有状态的东西收敛在一个非常集中的集群里面,利用它们的高可用机制实现集群。 无状态的部分一是迁移性,即跨机房随意部署,二是弹性收缩,即容易扩容。处理当前数据时,当前进程挂掉,内存数据丢失,因此服务需要有重试机制,接口有幂等机制
3.数据库的横向扩展
数据库是保存状态,分布式数据库可以使数据库的性能随节点增加线性的增加
4.缓存
高并发场景下,缓存是必要的
5.服务拆分和服务发现
系统扛不住,应用变化快时拆分一系列小的服务,这样开发独立,上线独立,扩容方便。拆分后应用之间的关系变得复杂,就需要服务发现的机制,实现自动的修复,自动关联,自动的负载均衡、自动的容错切换
6.服务编排域弹性伸缩
7.统一配置中心
微服务中,配置往往分为几类,一类是几乎不变的配置,可以直接打在容器镜像里,二是启动时确定的配置,往往通过环境变量,在容器启动时传入,第三类是统一的配置,通过配置中心下发
8.统一的日志中心
9.熔断,限流,降级
当一个服务调用另一个服务,出现超时,应及时返回,负载过高时,降级某些功能或某些调用,保证核心业务的通过。限流
10监控
是否健康,性能瓶颈

被折叠的 条评论
为什么被折叠?



