分布式系统技术解析:从微服务到视频会议
1. 微服务的概念与应用
1.1 微服务的定义
微服务是一种模块化、组织化和软件测试方法的概念。它的组件是独立且偏向技术的单个微服务,而微服务架构则是跨越所有单个微服务的大型实体。关于微服务,有两位知名人士给出了定义:
- James Lewis:“微服务是一个可以独立部署、扩展和测试的小型应用程序。这个应用程序及其代码应该易于理解且只完成一项工作。”
- Sam Newman:“微服务是一个可自我执行的软件组件,它能在集成应用程序中与其他软件组件协作。微服务应在特定业务领域中发挥作用。”
1.2 微服务在应用构建中的架构
使用Scrum等方法,可以从基于Web服务(WS)的三层结构(使用所谓的宏服务)中衍生出更灵活的基于微服务(MS)的结构。以超市应用为例,软件工程师可以设计更简单、更随意的服务耦合方式,节省对涉及层(特别是具有独立数据库控制的数据层)的访问时间。主要的微服务实现平台有Netflix、Spring和Kubernetes。
一个微服务使用的示例是:带有微服务的网关作为服务提供者,可以使用HTTP/REST、AMQP/JSON - RPC、WebSockets/WAMP等广泛使用的协议和接口,从特定内容的微服务MS1、MS2、MS3向多个应用(如浏览器应用、原生应用、服务器应用)提供所需的代码。
1.3 服务组合
服务组合通常是面向流程和服务的。Web服务、微服务及其平台非常适合作为实现基础。服务组合具有以下优点:
- 提供组件和源代码的可重用性。
- 提供解决方案嵌入,并为流程业务逻辑提供精细粒
超级会员免费看
订阅专栏 解锁全文
23

被折叠的 条评论
为什么被折叠?



