什么是微服务架构?
微服务架构是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用的轻量级通信机制(通常用HTTP资源API),这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务公用一个最小型的集中式的管理,服务可用不同的语言进行开发,使用不同的数据储存技术。
微服务的优点:
1.易于维护和开发:每个微服务都很小,这样能够聚焦一个指定的业务功能或业务需求。
2.单个服务启动快:单个服务代码量少,所以启动快;
3.局部修改易部署:一般来说,对某个微服务进行修改,只需要重新部署这个服务即可;
4.按需收缩:可根据需求,实现细粒度的扩展。例如,系统中的某个微服务遇到了瓶颈,可以结合微服务的特点,增加内存,升级CPU或增加节点。
5.技术栈不受限:在微服务架构中,可以结合业务和团队的特点,合理选用技术栈。例如有些服务可以使用关系型数据库Mysql,有的服务可以使用非关系型数据库redis。甚至可根据需求,部分服务使用JAVA开发,部分微服务使用Node.js开发
微服务的缺点:
接口调整成本高:微服务之间通过接口进行通信,一旦用户微服务的接口发生大的变动,那么所有依赖它的微服务都要做相应的调整,由于微服务可能非常多,那么调整接口所造成的成本将会明显提高。
运维要求高:更多的服务意味着更多的运维投入。在单体架构中,只需要保证一个应用的运行即可,在微服务中,需要保证几十甚至几百个服务器正常运行和协作,这给运维带来了巨大的挑战;
分户式固有的复杂性:对于微服务架构来说,分布式几乎是必会用的技术,由于分布式本身的复杂性,导致微服务架构也变得复杂起来。
通过学习能解决工作中哪些实际问题?
为什么选择中培
《高并发、高可用架构设计与实践》面授班将于年7月26日-28日在上海举行。 想要了解更多有关软考考试内容的,请扫描下方二维码咨询
▼
立刻咨询
点击下方二维码咨询!
[1] |