为什么要用微服务?
谈到微服务就要谈到我们最开始学习和工作中使用最多的架构---单体架构。
什么是单体架构?
单体架构也称之为单体系统,把所有的功能模块都耦合在一个系统里面。打包部署独立的单元 jar 包 或者是war包并且只有一个独立的进程。
单体架构就是常见的MVC系统,所有的数据都耦合在一个数据苦里面,没有水平切分或者是垂直切分。常用的技术有springMVC 、spring、struts等技术。
单体技术的特点:
A:测试、部署问题:测试、部署成本高,业务一旦更改就要对整个系统重新测试并部署、例如更改订单系统。
B:伸缩性:可伸缩性差,水平扩展是只能对整个系统进行部署,无法针对单个功能模块进行部署。例如,最开始的电商项目当商品的访问量增大时,你想对商品的功能模块进行集群,您只能通过对系统的集群方式的方式进部署。这个是由于单体架构系统单进程的局限性。
C:可靠性:可靠性差。某个BUG,死循环、内存溢出等,会导致系统中的某些功能无法使用甚至宕机。
D:系统迭代:迭代困难。一个单体程序的功能过于庞大,导致代码分支过多,合代码繁琐困难。
E:团队协助:整个系统过于庞大,成员需要学习大量的代码和领域知识。例如:商城项目需要掌握整个项目的流程。看似简单实际复杂。团队协作变得低效。
微服务架构
什么是微服务?
微服务--架构风格
什么是架构风格--简单的理解为系统的设计模式
客户端 服务端 、组建的架构 EJB
分层架构 MVC
面向服务架构 SOA
未完。。。。。。