微服务

为什么需要微服务?

从传统的IT行业->SOA服务化(总线模式,导致很多企业遗留系统难以对接)

 1.复杂性逐渐变高

       项目有几十万行代码,各个模块之间区别比较模糊,逻辑混乱

 2.技术债务逐渐上升

       公司人员流动,留下的坑很难被发现。带给新员工困扰

 3.部署速度逐渐变慢

 4.阻碍技术创新

      以前有某个项目使用struts2编写,由于各个模块之间都有关系,代码量很大,逻辑不清晰 。若用spring mvc重构项目将会非常困难。


微服务与单个框架的区别:

1.单体框架所有模块都耦合在一起。微服务每个模块就相当于一个单独的项目

2.单体框架所有模块都公用一个数据库,存储方式单一。微服务每个模块都可以使用不用的存储方式

3.微服务每个模块可以使用,不用的语言,不用的框架,不同的数据库。    

微服务

个人看后发现,这个和dubbo一模一样。我会在后面写一下微服务与dubbo的区别。    


微服务最后是通过RestFul框架统一成一个系统的。

微服务的本质:

   有效拆分应用,实现敏捷开发和部署    


分布式框架常用的有四个:

Spring Cloud、Dubbo(X)、Dropwizard、Consul、etcd&etc

微服务

微服务场景下,进程多,更新快,于是出现 100 个进程,每天一个镜像。
 
容器乐了,每个容器镜像小,没什么问题,虚拟机哭了,因为虚拟机每个镜像太大了。
 
所以微服务场景下,可以开始考虑用容器了。