你必须了解的微服务架构设计的10个要点!

本文详细阐述了微服务架构设计的关键要点,包括负载均衡与API网关的作用,无状态化与独立有状态集群的重要性,数据库的横向扩展,缓存策略,服务拆分与服务发现,服务编排与弹性伸缩,统一配置中心,统一日志中心,以及熔断、限流和降级策略。这些要点对于实现高效、稳定的微服务架构至关重要。
摘要由CSDN通过智能技术生成

微服务架构设计时有哪些要点呢?先看下图是 Spring Cloud 的整个生态。

下图是完美实现微服务的十二原则:

接下来,细说微服务架构设计中不得不知的十大要点。

负载均衡 + API 网关

在实施微服务的过程中,不免要面临服务的聚合与拆分。

当后端服务的拆分相对比较频繁的时候,作为手机 App 来讲,往往需要一个统一的入口,将不同的请求路由到不同的服务,无论后面如何拆分与聚合,对于手机端来讲都是透明的。

有了 API 网关以后,简单的数据聚合可以在网关层完成,这样就不用在手机 App 端完成,从而手机 App 耗电量较小,用户体验较好。

有了统一的 API 网关,还可以进行统一的认证和鉴权,尽管服务之间的相互调用比较复杂,接口也会比较多。

API 网关往往只暴露必须的对外接口,并且对接口进行统一的认证和鉴权,使得内部的服务相互访问的时候,不用再进行认证和鉴权,效率会比较高。

有了统一的 API 网关,可以在这一层设定一定的策略,进行 A/B 测试,蓝绿发布,预发环境导流等等。

API 网关往往是无状态的,可以横向扩展,从而不会成为性能瓶颈。

无状态化与独立有状态集群

影响应用迁移和横向扩展的重要因素就是应用的状态。无状态服务,是要把这个状态往外移,将 Session 数据,文件数据,结构化数据保存在后端统一的存储中,从而应用仅仅包含商务逻辑。

状态是不可避免的,例如 ZooKeeper,DB,Cache 等,把这些所有有状态的东西收敛在一个非常集中的集群里面。

整个业务就分两部分,一个是无状态的部分,一个是有状态的部分。

无状态的部分能实现两点:

跨机房随意地部署,也即迁移性。

弹性

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值