什么是微服务?(浅谈微服务)

(私人理解,不足为凭。仅供参考。)


项目的架构从某一种方面来说只有两个形式:即传统架构与微服务架构,两者的区别是什么?而目前微服务框架越来越流行,那么到底什么是微服务?接下来浅显的谈谈。

传统架构是单一架构模式,就是将项目整体打包部署,比如java语言的项目会打成war包,
部署在tomcat或者jetty应用服务器上,如果使用springboot还可以打成jar包


微服务架构是将整体项目分割成项目关联的独立服务,一个服务通常会实现一组独立的
功能,包含自己的逻辑,各个微服务之间关联通过暴露api来实现,这些独立的微服务可以部署在不同的服务器,虚拟机或系统中。


为何要使用微服务架构:
单一架构模式在项目初期的时候开发,测试,部署方便,但是随着项目逐步开发,项目工程会
很大,最终互相之间会有繁琐的jar包
1.不再适用于敏捷开发,任何开发人员都不能完全理解,在修复漏洞和添加新功能时
候变得复杂
2.项目模块越大,启动越慢,很小的改动也需要重新部署整个项目
3.任何模块的漏洞,都会降低系统的可靠性
4.如果想整体使用新的技术,新的框架,那是不可能的
如果采用微服务,解决了单一系统的复杂性,主要有以下优点
1.可采用敏捷开发模式,选择合适的技术
2.每一个微服务是独立部署的,可以快速迭代部署
3.一些需要负载均衡的服务可以使用ngix同一反向代理分发请求,这样不需要整个
系统负载均衡了


微服务的缺点:
1.微服务作为分布式系统时候带来了复杂性,当应用是整体应用时,模块之间可以内
部调用,但微服务是多个独一的应用,调用起来增加了一定的复杂性
2.多个数据库,事物的实现会头痛
3.测试微服务变得复杂,当一个服务依赖于另一个服务时候,测试时需要另一个服务
的支持
4.整体系统只需要部署在一组相同的服务器上,而微服务需要更高的自动化形式



❀说白了微服务框架就是由一个一个独立的服务组成的。 每一个服务有自己的功能和自己的逻
❀辑。这些独立的微服务可以部署在不同的服务器,虚拟机或者系统中。
❀而为什么用微服务说白了就是方便项目的开发,利于项目的拓展延伸。

❤Wan❤

猜你喜欢

转载自blog.csdn.net/weixin_44310056/article/details/90033850