美文网首页
什么是服务

什么是服务

作者: Aurora_Twinkle | 来源:发表于2020-11-29 21:41 被阅读0次

微服务体系结构(有时也称微服务)是一种架构风格,它将应用根据业务逻辑拆分成一系列功能不同并且相互协同合作的一系列服务,这些服务共同组成一个完成的应用。这使持续交付/部署一个大而复杂的应用成为可能。微服务具有更好的伸缩性、容错性,实验新技术和迭代新的技术栈也更加方便。

在使用微服务时,最关键的体系结构决策是识别和设计服务,并确定这些服务之间如何协作,相比之下,技术相关的问题,例如docker、k8s等就显得无足轻重了。

服务的关键属性

一个服务具有以下关键属性:

  • 高可维护性和高可测试性-支持快速频繁地开发和部署

  • 与其他服务轻耦合-服务的ower在大部分时间应该能独立工作在自己的服务上,不受其他服务的影响,也不影响其他服务

  • 可独立部署-团队能够独立部署自己的服务,无需和其他团队进行协调

  • 小团队开发-通过避免大团队的高交流成本来获得高生产力

服务的结构

下图展示了一个六边形的服务结构,服务的核心是业务逻辑,业务逻辑被与之相关联的服务和应用所包围。

服务结构

具体来看一下每个结构:

服务具有API

从使用者的角度来看,服务唯一重要的是它的API。服务API由操作和发布的事件组成。

操作

有两种类型的操作:命令和查询。命令是一种改变数据的操作。查询是检索数据的命令

使用同步协议(如REST或gRPC)和异步消息传递的组合来调用服务操作。在为外部客户端(如移动应用程序和单页面应用程序)实现api时,同步协议(尤其是REST)特别有用。

事件

服务通常发布事件。事件通常是DDD域事件,由聚合在创建、更新或删除时发出。服务将事件发布到消息代理实现的消息通道。例如,Eventuate Tram框架支持发布事件到Apache Kafka, ActiveMQ和RabbitMQ。

业务逻辑

服务的核心和存在的原因。它实现API的操作和发布事件。业务逻辑调用其他服务的操作并订阅它们的事件。它将数据保存在服务的数据库中。

服务可能和其他服务协作

当服务协作时,是通过api而不是数据库。一个服务可以调用另一个服务的操作,服务还可以订阅另一个服务发布的事件。

服务的数据库是私有的

一个服务通常有一个数据库,用于存储它的数据,有时也存储从其他服务复制的数据,为了确保松耦合,服务共享数据库表通常不是一个好主意。相反,服务只能通过它们的api进行通信。

个人博客

相关文章

  • 什么是服务?

    1、服务的本质 当今市场的量大变化是消费者的改变和客户的不足。这两个特征也决定了企业必须要重视两部分,服务和品牌。...

  • 什么是服务

    虽然说每一篇文章没有什么关联性,但既然是开篇,总是要按照开篇的节奏写一篇起一个头。 那,什么是服务? 这种时候,我...

  • 什么是服务

    微服务体系结构(有时也称微服务)是一种架构风格,它将应用根据业务逻辑拆分成一系列功能不同并且相互协同合作的一系列服...

  • 什么是服务

    第一层:服务是将细节极致化,想别人所想1000个为什么?将每个百分之0.1去影响和推动另外999个百分之0.1,然...

  • 什么是产品?什么是服务?

    正确定义什么是一家知识服务公司?而不是知识付费公司? 付费,=之间的卖货卖货公司,但是得到强调服务。服务强调的就是...

  • 什么是微服务

    什么是微服务 一、微服务、分布式、集群的区别 概念: 集群:复制应用相同的模块,在不同的服务器上 分布式:分散压力...

  • 什么是服务设计?

    文章结构 1、定义服务设计2、不同见解3、起源和发展4、服务设计不包括什么5、服务设计的原则 1、定义服务设计 服...

  • 什么是微服务

    微服务一名出自 James Lewis & Martin Fowler 2014年3月25日写《Microserv...

  • 什么是微服务?

    微服务是指使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可...

  • 什么是微服务?

    微信公众号:一个优秀的废人如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 最近公司某个项目的架构越来越庞...

网友评论

      本文标题:什么是服务

      本文链接:https://www.haomeiwen.com/subject/juclwktx.html