大厂学院 - 微服务框架核心源码深度解析
-
微服务
什么是微服务? 维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。 微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常 ● 有自己的堆栈,包括数据库和数据模型; ● 通过REST API,事件流和消息代理的组合相互通信; ● 和它们是按业务能力组织的,分隔服务的线通常称为有界上下文。 尽管有关微服务的许多讨论都围绕体系结构定义和特征展开,但它们的价值可以通过相当简单的业务和组织收益更普遍地理解: ● 可以更轻松地更新代码。 ● 团队可以为不同的组件使用不同的堆栈。 ● 组件可以彼此独立地进行缩放,从而减少了因必须缩放整个应用程序而产生的浪费和成本,因为单个功能可能面临过多的负载。 -
简介
微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常 有自己的堆栈,包括数据库和数据模型; 通过REST API,事件流和消息代理的组合相互通信; 它们是按业务能力组织的,分隔服务的线通常称为有界上下文。 尽管有关微服务的许多讨论都围绕体系结构定义和特征展开,但它们的价值可以通过相当简单的业务和组织收益更普遍地理解: 可以更轻松地更新代码。 团队可以为不同的组件使用不同的堆栈。 组件可以彼此独立地进行缩放,从而减少了因必须缩放整个应用程序而产生的浪费和成本,因为单个功能可能面临过多的负载。 微服务也可以通过它们不是什么来理解。微服务架构最经常得出的两个比较是整体架构和面向服务的架构(SOA)。 微服务和整体架构之间的区别在于,微服务由许多较小的,松散耦合的服务组成一个应用程序,与大型,紧密耦合的应用程序的整体方法相反。 微服务和SOA之间的差异可能不太清楚。虽然可以在微服务和SOA之间形成技术对比,尤其是围绕企业服务总线(ESB)的作用,但将差异视为范围之一更容易。SOA是企业范围内的一项工作,旨在标准化所有服务之间相互交流和集成的方式,而微服务体系结构则是特定于应用程序的。 -
微服务如何使组织受益
微服务在管理人员和项目负责人中至少与在开发人员中一样受欢迎。这是微服务的较不寻常的特征之一,因为架构热情通常是为实际工程师保留的。这样做的原因是微服务更好地反映了许多业务主管想要组建和运行其团队以及开发流程的方式。换句话说,微服务是一种架构模型,可以更好地促进所需的运营模型。 可独立部署 微服务的最重要的单一特征可能是,由于服务较小且可独立部署,因此不再需要繁琐的行动才能更改应用程序中的一行文字。 微服务向组织承诺了解决方案,以解决因细微变化而引起的内在挫折,这需要花费大量时间。它不需要博士学位。在计算机科学中可以看到或理解更好地促进速度和敏捷性的方法的价值。 但是,速度并不是以这种方式设计服务的唯一价值。一种常见的新兴组织模型是将跨职能的团队聚集在业务问题,服务或产品上。微服务模型非常适合这种趋势,因为它使组织能够围绕一项服务或一组服务创建跨职能的小型团队,并使它们以敏捷的方式运作。 最后,服务的小规模加上清晰的边界和沟通模式,使新团队成员更容易理解代码库并快速做出贡献,这在速度和员工士气方面均具有明显的好处。