微服务定义及.Net Core中用的技术
微服务 定义: 它是一种架构模式,提倡将大的单体系统,按业务拆分成一个个较小且独立的服务,服务与服务之前进行相互协作和配合。 历史: 针对互联网行业的蓬勃发展,需要支撑的业务越来越多,越来越大,单体程序越来越难以支撑,因此才出现了微服务的这种架构。 优点: 它的优点主要是与单体程序相比 1.开发独立:因开发独立就可以使用不同的语言进行开发,这样就更能发挥出各语言擅长的方面。 2.低耦合 :服务与服务间采用轻量级的通信机制相沟通(Http,tcp/id),当某一服务出现问题,可以通过“降级熔断”等手段来保证系统不雪崩。 3.独立部署:这个就厉害了,独立部署带给我们的就是快速的迭代,完全与现在的敏捷开发相符。 4.横向扩展:这就是对于某一个服务的压力大的时候,我们就可以针对这一个服务进行集群扩展,而不像原单体系统那样,需要整个系统作扩展。 缺点: 1.因架构使各服务(系统)的颗粒度更小了,整体来说对开发和维护的难度就增加。(当然现在以云的方式部署,因此能屏蔽一些问题) 2.因服务与服务之前的通信机制是网络的方式,因此对于单体的进程内通信就显得运行效率降下来了。 原则: 1.单一职责:每个微...