这是我参与「第五届青训营」伴学笔记创作活动的第8天
本节课主要针对微服务架构进行了初步探索,包括字节在实践过程中的种种技术路线与探索方式。
微服务架构介绍
微服务架构就是将单一程序拆分成一个一个的微服务,每个微服务运行在自己的进程中,并使用轻量级的机制通信,通常是HTTP RESTFUL API。这些服务围绕业务能力来划分,并通过自动化部署机制来独立部署。这些服务可以使用不同的编程语言,不同数据库,以保证最低限度的集中式管理。
微服务架构优势与劣势
优势:
复杂的业务拆分成多个业务,每个业务是一个独立的微服务,彻底的去耦合,利于分工,当需要增加业务的时候,可以方便创建新的微服务扩展业务,而不用担心有没有别的地方耦合 每个微服务都是独立部署的,如果其中一个宕机了,不会影响整个系统;也方便功能变更时,服务的部署;当流量增大后,可以将服务集群化部署,增强抗击高并发的能力 每个微服务之间可以使用不同的编程语言和不同的数据库
劣势:
在复杂程度上来说,微服务比单体建构要更为复杂些
部署比单体项目复杂
服务之间是用HTTP协议通信的,通信成本比单体项目高
数据一致性问题。
适用场景
适用场景:
大型复杂的项目
快速迭代的项目
并发高的项目
服务实践治理
请求重试
重试是系统提高容错能力的一种手段。在一次请求中,往往需要经过多个服务之间的调用,由于网络波动或者其他原因,请求可能无法正常到达服务端或者服务端的请求无法正常的返回,从而导致请求失败,这种失败往往可以通过重试的方式来解决。因此服务之间的重试机制提高了整个系统的故障恢复能力。
模板
总结
本节课主要针对微服务架构进行了详细介绍,关于服务实践部分的请求重试进行了初步了解,希望可以继续有所收获。