在这里插入图片描述
1.简而言之,微服务就是开发一组小型服务的方式来开发一个独立的应用系统,每个小型服务都运行在自己的进程中,并采用HTTP资源API轻量级的机制来互相通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据库存储技术。
其实微服务就是在业务垂直拆分的基础上,拆分的粒度更细。
2.微服务的优点
1.易于开发和维护
业务分拆,一个微服务只关注一个特定的业务功能,所以它的业务清晰、代码量较少。开发和维护单个微服务相对简单。每个微服务业务复杂度低,方便理解、维护和调试。整个应用由若干个微服务构成。
2.单个微服务启动快
单个微服务代码量少,启动比庞大的项目要快。
3.故障隔离
某个服务宕机,其他服务照常使用。单体项目就可能发生雪崩,造成整个系统宕机。
4.局部修改容易部署
传统单体项目修改一个功能就需要重新部署整个应用,而微服务只需对需要修改的服务重新部署,其他服务无需停止,甚至不相关的业务仍然可以继续执行。
5.技术栈不受限
在微服务中,支持技术异构,可以根据软件团队擅长的技术去实现,如java、c#、c、php等,也支持异构数据库mysql、oracle、sqlServ