一、什么是微服务
微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统。其中每个小型服务都是运行在自己的进程中,并经常采用 http 资源 api 这种轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。对这些微服务我们仅仅做最低限度的集中管理。
二、微服务的优点
1、易于开发和维护。
因为拆解为围绕某个业务功能的小型服务进行开发,所以易于开发和维护。
2、单个服务启动较快。
3、局部修改容易部署。
4、技术栈不受限。
三、微服务架构的挑战
1、运维要求较高。
2、分布式固有的复杂性。
3、接口调整成本较高。
4、存在重复劳动的问题。
四、微服务的设计原则
1、单一职责原则。
2、服务自治原则
指每个服务应该具备独立的业务能力、依赖于运行环境。
3、轻量级通信原则
4、接口明确原则
每个服务对外接口应该明确定义,并尽量保持不变。
五、常用的微服务开发框架
Spring Cloud
Dubbo
Consl etcd & etc
网友评论