微服务简介

单体架构:软件设计中的经典三层模型架构,即表示层、业务逻辑层、数据访问层经典架构。

单体架构的缺点:

1、业务复杂,代码量增加,业务扩展代价大;

2、当用户增加,单体应用并发有限;

3、测试难度增加。

单体架构改进措施:使用服务器集群,增加复杂均衡器、缓存服务器、文件服务器、数据库读写分离。

单体架构改进后,仍存在的缺点:

1、大量代码导致可读性和可维护性降低;

2、海量数据导致数据库成为瓶颈;

3、持续交互能力差,代码多,新人熟悉代码时间长。

微服务

程序变成服务,服务根据业务能力划分和构建,服务可以使用不同的语言、不同的数据存储技术,服务使用Restful API 通信,服务可以通过自动化独立部署,服务集中化管理,是分布式架构,并具有熔断机制。

微服务架构的优势:

1、代码可读性增加,不需要了解所有业务代码;

2、具备横向扩展能力,可根据业务在拆分服务,可集群化部署;

3、服务之间没有耦合,微服务可以使用仍和开发语言和技术;

4、易于修改重写服务;

5、微服务之间独立,相互没有影响;

6、系统具备一定负载能力和容错能力。

微服务的不足:

1、复杂度高;

2、分布式系统不能同时满足数据强一致性、服务可用性和分区容错;

3、服务划分困难;

4、服务部署复杂。

微服务与SOA关系

SOA:面向服务的架构。微服务与SOA类似,是SOA的一种实现。

微服务的设计原则

根据企业需求采用不同的技术。

1、业务单一时LAMP单体架构就可以满足需求;

2、随着业务发展改进单体架构如增加负载均衡服务器、缓存服务器、数据库读写分离、应用程序集群化部署;

3、业务继续扩展,则考虑使用分布式系统,微服务架构。

你可能感兴趣的:(微服务简介)