其实这两种架构在原则上确实相当近似,但仍有不同之处。在围绕服务的概念创建架构这一方面,微服务提供了一种更清
晰、定义更良好的方式。这两者之间最关键的区别在与微服务更专注于以自治的方式产生价值。
对于微服务,我们可以这么理解:经过分离的组件可以各自拥有独立的生命周期,独立部署(Docker),并且按需进行扩
展。不仅如此,这种方式也打破了组件之间的技术依赖,这就允许每个服务各自选择最合适的技术进行实现,即不同的服务甚
至可以采用不同的编程语言来实现,由独立的团队负责。不同的服务通过一下轻量级交互机制来通信,例如RPC、HTTP等们
每个服务定义了明确的边界。(这是一种模块到服务的转变)。微服务的设计思想就是通过将较大的问题分解为几个较小的问
题,让每个问题更易于进行分析,也更利于开发者选择最合适的解决方案。但由此也带来了一些问题,这种分解方式对大问题
进行分解也增加了整个解决方案的复杂度,尤其是在那些使用不同技术或方式创建各种服务的系统中体现得更为明显。这种架
构将系统的整合点推移到了服务之间的接口,因此这些服务的接口需要良好的定义,在系统中也要对服务级别达成一致,并且
还需要定义其他的非功能需求。(明确服务边界)。
微服务相对于SOA而言,微服务只是一种为经过良好架构设计的SOA解决方案实现的面向服务的交互方案。SOA是一种能
够改变整个企业的IT结构的战略创新,他将企业系统划分为不同的服务,为企业赋予了更大的灵活性......微服务必须能够独立的
进行部署,而SOA服务往往是按照一体性的部署方式实现的,SOA的