微服务
为什么需要微服务?
从传统的IT行业->SOA服务化(总线模式,导致很多企业遗留系统难以对接)
1.复杂性逐渐变高
项目有几十万行代码,各个模块之间区别比较模糊,逻辑混乱
2.技术债务逐渐上升
公司人员流动,留下的坑很难被发现。带给新员工困扰
3.部署速度逐渐变慢
4.阻碍技术创新
以前有某个项目使用struts2编写,由于各个模块之间都有关系,代码量很大,逻辑不清晰 。若用spring mvc重构项目将会非常困难。
微服务与单个框架的区别:
1.单体框架所有模块都耦合在一起。微服务每个模块就相当于一个单独的项目
2.单体框架所有模块都公用一个数据库,存储方式单一。微服务每个模块都可以使用不用的存储方式
3.微服务每个模块可以使用,不用的语言,不用的框架,不同的数据库。
个人看后发现,这个和dubbo一模一样。我会在后面写一下微服务与dubbo的区别。
微服务最后是通过RestFul框架统一成一个系统的。
微服务的本质:
有效拆分应用,实现敏捷开发和部署
分布式框架常用的有四个:
Spring Cloud、Dubbo(X)、Dropwizard、Consul、etcd&etc
微服务场景下,进程多,更新快,于是出现 100 个进程,每天一个镜像。
容器乐了,每个容器镜像小,没什么问题,虚拟机哭了,因为虚拟机每个镜像太大了。
所以微服务场景下,可以开始考虑用容器了。