微服务架构介绍
传统的web应用都是一个war包,所有的代码都在该文件中。运行时,都在一个操作系统进程中。这种架构叫单体式架构。
微服务架构是按业务功能把应用划分为各个独立的部分,各部分都是独立运行的操作系统进程,它们一起协作完成系统的功能,构成一个完整的应用。示意图:
总的来说,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持低限度的集中式管理。
优点
1)解决了系统的复杂性问题:服务间相互独立(解耦),单个服务更易开发,理解和维护;
2)支持高并发:每个服务可以独立扩展;
3)可重用;
4)更易升级:每个服务可以单独升级;
5)系统的技术更新更容易;
6)系统之间互操作