微服务为什么可以这么微,为什么一微就火了?

 

随着软件工程的规模的迅速扩大,对响应的速度的要求的越来越高,
软件的开发过程面临越来越大的挑战。为了提高开发的效率,和质量,
以及对成本的压缩,对软件的模块化,以及希望像硬件模块一样,能即
插即用,成为了迫切的需求。软件架构上的服务化是即它的体现,
因为服务的粒度比较大,难以复用,在这种背景下,微服务的架构,应运而生。

 

微服务以进程的边界进行隔离,微服务与微服务之间的关系是契约的方式
规定了它们之间的权利与责任,这样可以实现对微服务的开发的分工与合作。
即不同的开发团队开发各自微服务,再进行相应的系统集成,从而完成了由对小模块
的组装来生产出大系统的任务。

 

微服务的本质是分布式结构。分布式天生适合执行并行的任务。现在的主要的应用场景
是IO密集型的应用。微服务的架构满足了互联网上流量的浪涌式的冲击,可以快速响应
流量的瞬间爆增百倍的压力。这是为什么微服务架构在现在能如此的火的原因。

 

接下来说一下,微服务带来的一系列的维护与管理方面的问题,
一是微服务的数量成千上万,如何对这些服务进行监控和管理,
首先我们需要知道这些微服务的状态是怎么样的,需要的调用的微服务
的信息是什么。微服务如何启动与关闭?
二是如何保障微服务的安全,
三是微服务之间如何通信,
四是如何保证事务性,退一步说,如何保证数据的最终的一致性。
五是如何某些微服务有问题,如何进行隔离,以防止造成系统的整体性崩溃。
六是微服务如何部署上线?
七是微服务之间的错综复杂的依赖关系,如何管理?

 

还有微服务的架构方面的设计问题
对于全新的系统的开发,如何抽象出微服务,即服务的建模问题
对于已有的系统在架构方面,向微服务架构的进化过程中,如何实现架构上的转型?

 

为了解决如上所述的各种问题,出现了各种工具,框架等,因为微服务相关的底层的支撑
技术都成熟了,因此微服务架构才落地生根,开花结果。

 

 

 

 

 

你可能感兴趣的:(开发方法)