微服务体系结构描述了一种使用松散耦合服务集合开发应用程序的方法。以前,应用程序是基于集中式多层体系结构的。在大型机和台式机的时代,这种方法很有效。但在云计算和移动设备中,后端必须随时可用于各种设备。Bug修复和特性必须在不停机或不部署整个应用程序的情况下快速交付。
微服务是独立部署的,通过webapi或消息队列进行通信以响应传入事件。它们协同工作以提供各种功能,如用户界面前端、推荐、物流、计费等。
微服务通常在容器中运行。容器简化了微服务的部署,但即使没有容器,微服务也可以运行。
微服务是封装业务场景的自主独立服务。它包含 代码 和 状态 。通常,微服务甚至包含自己的数据存储。这使得它具有独立的可版本性、可扩展性和可部署性。微服务是松散耦合的,通过使用http等协议的定义良好的接口与其他微服务交互。它们在出现故障时 保持一致和可用 。微服务是可独立发布的。每个微服务都可以自己扩展,而不必扩展整个应用程序。
微服务有哪些类型?
大体上,有两种类型的微服务:
无状态:没有状态或者可以从外部存储(缓存/数据库&